Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Python: Voiko Pythonilla ajaa komentoja komentotulkissa?

taateli05 [29.06.2016 22:48:41]

#

Voiko Pythonilla tehdä ohjelman joka ajaa komentotulkin ja siinä komentoja? Onko mahdollista toteuttaa se ohjelma niin että ohjelmassa pitäisi itse kirjoittaa joitain muuttujia esim. jos nyt vaikka olisi komento "run", ohjelma kysyisi mitä käyttäjä haluaa laittaa eteen esim. "run steam" tai "run firefox"?

groovyb [29.06.2016 23:09:33]

#

tottakai, mutta mitä se helpottaisi jos joudut käsin käynnistämään ohjelmat enivei kirjoittamalla run foobar. helpommalla pääset vaikka tekemällä pikakuvakkeet työpöydällesi.

mikäli tarkoitat että sovellus "etsisi" kyseistä annettua ohjelmaa avainsanan mukaan kovalevy(i)ltä, olisi sovellus melkoisen hidas (ainakin ensimmäisellä kerralla, jos tieto tallennetaan jatkoa ajatellen). Windows -ympäristössä toki voisi avainsanalla etsiä asennetuista ohjelmista tai rekistereistä, joka on nopeampi tapa kuin suora kovalevyltä etsiminen. Muista ympäristöistä en osaa sanoa, onko mitään vakiorekisteriä asennetuille ohjelmille.

Haasteena on myös se, että avainsana ei välttämättä vastaa sovelluksen käynnistävää tiedostoa, Sovelluksen nimi voi olla foobar, mutta käynnistystiedosto fb.exe. Jos mitään tietoa järjestelmässä ei ole sovelluksen nimen ja käynnistystiedoston yhteydestä, ei haku voi toimia, ellei sovelluksesi esimerkiksi palauta kaikkia käynnistystiedostoja hakua vastaavista kansioista ja niiden alikansioista käyttäjän valittavaksi suoritusta varten.

Helpompi tapa on lisätä etukäteen suoritettavia ohjelmia. Sovelluksesi voisi pyytää ohjelman käynnistysnimen ja käynnistysosoitteen, esim käynnistysnimi Steam ja osoite c:\steam\steam.exe, jonka jälkeen run Steam kaivaisi käynnistettävän ohjelman osoitteen tallennetuista tiedoista.

Metabolix [30.06.2016 17:25:16]

#

Komentoja voi ajaa järjestelmän komentotulkissa funktiolla os.system.

Oman komentotulkin tekemiseen tarvitaan syötteen lukemista, tekstin tulostamista, merkkijonojen käsittelyä ja luultavasti edelleenkin funktiota os.system ohjelmien suorittamiseen.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta