[python] os.popen vs. os.system
Martin Jedlička
jedlicka na poll.cz
Pátek Září 15 09:59:42 CEST 2006
No vypada to hezky, umi to super veci, ale nikde jsem tam nenasel reseni
meho problemu a to, aby se nezobrazovalo to cerne okno cmd pri spusteni.
Napr. funkce call umi vracet navratovou hodnotu, ale stejne se zobrazi
to okno. Pri os.popen to nedela.
Martin
Petr Vaněk napsal(a):
> Dne čtvrtek 14 září 2006 10:08 Radek Kanovsky napsal(a):
>
>> On Thu, Sep 14, 2006 at 08:40:35AM +0200, Martin Jedlička wrote:
>>
>>> Zdravim, mam takovy problem. Poustim prikaz v prikazove radce (volam
>>> cvs.exe s parametrama) a rad bych, aby se nezobrazovalo to cerne okno
>>> cmd (os.system(cmd))* *K tomu jsem pouzil os.popen, problem je ale v
>>> tom, ze kdyz se vyskytne nejaky problem (chyba pri spusteni cvs.exe),
>>> tak to nevidim. Existuje nejaky zpusob, jak mi popen vyhodi nejaky vytup
>>> pri nepovedeni operace? Nebo existuje nejaky lepsi zpusob, jak spoustet
>>> externi programek s parametrama, aniz by se poustelo cerne cmd okno, ale
>>> pri chybe by to vyhodilo nejakou navratovou hodnotu (execl ?)?
>>>
>> V 2.4 pribyl modul `subprocess', ktery nahrazuje os.system a os.popen*.
>> Je docela flexibilni, takze by mel umet to, co pozadujete.
>>
>
> jednoznacne se primlouvam za subprocess.
> Ve svych vecech to delam tak, ze ke zdrojakum pribalim i subprocess.py
> prejmenovany treba na subprocess24.py a pri importu provedu:
>
> # local file subprocess24 is imported only for <2.4
> if sys.version_info[:3] < (2, 4, 2):
> import subprocess24 as subprocess
> else:
> import subprocess
>
> p.
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Python mailing list
> Python na py.cz
> http://www.py.cz/mailman/listinfo/python
--
Martin Jedlička
vývojový pracovník | development engineer
tel.: +420 251 115 263 | +420 777 631 351
fax: +420 251 115 255
e-mail: jedlicka na poll.cz
http://www.poll.cz
POLL, s.r.o.
Křížová 3/3132, 150 00 Praha 5
Další informace o konferenci Python