Les options pour popen
peuvent être utilisées danscall
args,
bufsize=0,
executable=None,
stdin=None,
stdout=None,
stderr=None,
preexec_fn=None,
close_fds=False,
shell=False,
cwd=None,
env=None,
universal_newlines=False,
startupinfo=None,
creationflags=0
Alors...
subprocess.call(["/home/myuser/run.sh", "/tmp/ad_xml", "/tmp/video_xml"], stdout=myoutput)
Ensuite, vous pouvez faire ce que vous voulez avec myoutput
(ce qui devrait être un fichier btw).
En outre, vous pouvez faire quelque chose de plus proche d'une sortie canalisée comme celle-ci.
dmesg | grep hda
serait:
p1 = Popen(["dmesg"], stdout=PIPE)
p2 = Popen(["grep", "hda"], stdin=p1.stdout, stdout=PIPE)
output = p2.communicate()[0]
Il y a beaucoup d'informations intéressantes et utiles sur la page de manuel python .