Portál AbcLinuxu, 11. května 2025 21:26

Dotaz: python - komunikace s jinym programem

20.4.2007 13:29 Petr
python - komunikace s jinym programem
Přečteno: 248×
Odpovědět | Admin
Ahoj,

Potreboval bych si napsat nadstavbu nad program, ktery komunikuje interaktivne pres stdin a stdout. Nasel jsem si knihovnu subprocess v pythonu. Komunikace na stdin toho spusteneho programu funguje, ale nejsem schopen vytahnout data, ktere ten program pise na stdout...
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
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

21.6.2007 02:02 Messa | skóre: 39 | blog: Messa
Rozbalit Rozbalit vše Re: python - komunikace s jinym programem
Odpovědět | | Sbalit | Link | Blokovat | Admin
Místo 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?

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.