[python] cteni odpovedi programu ze stdin
Karel Šrot
karel.do.pekla.zajel na seznam.cz
Pondělí Květen 21 17:31:02 CEST 2007
Co se tyce modulu subprocess a select.select(), nikde jsem nenasel
priklad, ktery by ukazoval/vysvetloval to, co potrebuji. Muzete nekdo
znaly napsat kratky skript, ktery treba zavola "cat", bude na vstupu
nacte radek (raw_input), nahradi mezery novymi radky (to proto, aby tech
radku bylo vic, tj. nemeli jsme predstavu o jejich poctu), poslal to do
vstupu "catu", precetl odpoved z vystupu a vypsal ji na obrazovku. Atd.,
porad dokola. Nize je kratky kod, ktery muzete pouzit a upravovat,
vyuziva popen2 a samozrejme nedela presne to, co bych chtel.:-)
Diky.
Karel
import popen2
(std_out, std_in) = popen2.popen2("cat",0, 't')
data=''
while data<>'quit':
data = raw_input("zadej radek: ")
if data<>'quit':
data = data.replace(' ', '\n')+10*' '
std_in.write(data[:10])
data2 = std_out.read(10).strip()
print data2
Jan Fuchs napsal(a):
> Ahoj,
> již mnohokrát zde proběhlo:
>
> http://www.py.cz/pipermail/python/2007-March/005717.html
>
> <cite "Jan Martinek">
> Tři z pěti pythonistů doporučují navždy zapomenout na
>
> os.system
> os.spawn*
> os.popen*
> popen2.*
> commands.*
>
> a použít raději modul subprocess, který nahrazuje (a doplňuje) všechny
> výše uvedené metody.
> </cite>
>
> S pozdravem Jan Fuchs
>
> 21. May (Monday) v 10:47:49 CEST 2007, radek.machulka na gmail.com napsal(a):
>> sez = os.popen(prikaz).readlines()
>
Další informace o konferenci Python