[python] praca pythonu so vstupom, vystupom shellovskeho programu

Marian Jakubik mjakubik na ta3.sk
Čtvrtek Leden 31 16:08:49 CET 2008


Ahoj,

nie som python-guru iba zaciatocnik ale ja som to robil nejako takto:


#!/usr/bin/python
import os

cmd='ls -la'

for line in os.popen(cmd).readlines():
    print line


Pritom cmd moze byt "lubovolny" command - samozrejme OS-friendly.

Vyskusaj si tento kod a snad to bude to co si chcel...

Urcite sa najde aj ovela elegantnejsie, lepsie, profesionalnejsie
riesenie....

Zdravi,
Mrozko


Dňa Thu, 31 Jan 2008 15:54:39 +0100
"Tomy novella" <tomasnovella na gmail.com> napísal:

> ahoj,
> 
> mam taku otazku:
> nedalo by sa nejak spravit v pythone, aby som vykonal nejaky prikaz v
> shelle(povedzme "ls | grep -i foo", alebo "gcc file; ./a.out < in") a
> teraz vystup tychto shellovskych priazov narval do nejakej premennej?
> 
> povedzme, ze chcem program typu:
> 
> -----
> vystup = nejaka_mne_zatial_neznama_fcia("ls | grep -i foo")
> for line in vystup:
>     # teraz to povedzme, ze po jednom vypisem, alebo hocako s tym
> budem manipulovat...
> -----
> 
> 
> jedine totiz, co ma zatial napadlo je, ze by som to cele hodil cez
> os.system() a potom to ulozil do suboru a stade to bral, ale podla mna
> to je dost neelegantne riesenie a urcite "to jde i mnohem lepe" ;)
> 
> neviete niekto o niecom takom? diky :)
> 
> 


Další informace o konferenci Python