[python] Jak udelat wait u popen.

Pavel Kosina geon na post.cz
Úterý Březen 20 19:01:05 CET 2007


Jan Martinek napsal(a):
> import subprocess
> command = ['echo', 'ahoj']
> echo = subprocess.Popen(command, stdout = subprocess.PIPE)
> print echo.stdout.readlines()
>
>   


Nevím proč, ale pod Windows je třeba vždy mít shell=True. Nebo jsem něco 
přehlédl?

import subprocess
proces=subprocess.Popen('dir', stdout=subprocess.PIPE, shell=True)
proces.wait()  # pocka na dokonceni
print proces.stdout.read()

Jinak hází chybu:

Traceback (most recent call last):
  File "I:\W9725806.py", line 2, in <module>
    proces=subprocess.Popen('dir', stdout=subprocess.PIPE)
  File "C:\prg\Python25\lib\subprocess.py", line 593, in __init__
    errread, errwrite)
  File "C:\prg\Python25\lib\subprocess.py", line 793, in _execute_child
    startupinfo)
WindowsError: [Error 2] SystÚm nem¨×e nalÚzt uvedenř soubor

-- 
geon
Pavel Kosina



Další informace o konferenci Python