Я обычно использую:
import subprocess
p = subprocess.Popen('ls', shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
for line in p.stdout.readlines():
print line,
retval = p.wait()
Вы можете делать то, что хотите, с данными stdout
в трубе. Фактически вы можете просто опустить эти параметры (stdout=
и stderr=
), и он будет вести себя как os.system()
.