Portál AbcLinuxu, 7. listopadu 2025 14:26
from subprocess import *
p = Popen('program', stdin=PIPE, stdout=PIPE)
p.stdin.write('programe pipni\n') # spusteny program pipne
# a vypise hlaseni na stdout
p.stdout.read() # nikdy mi nic nevypsal,
# zustane cekat na tomto radku ->
# da se ukoncit pouze ctrl+c -> cimz se zavre i roura...
Mohl by mi nekdo poradit, jak na to/kde je chyba ?
Diky
p.stdout.read() zkus p.stdout.readline(). Ten read() totiž chce přečíst všechno a tudíž čeká, než se ten stdout uzavře - tedy než se program ukončí.
BTW, má smysl odpovídat na takto staré dotazy?
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.