Các tùy chọn cho popen
có thể được sử dụng trongcall
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
Vì thế...
subprocess.call(["/home/myuser/run.sh", "/tmp/ad_xml", "/tmp/video_xml"], stdout=myoutput)
Sau đó, bạn có thể làm những gì bạn muốn với myoutput
(cần phải là một tệp btw).
Ngoài ra, bạn có thể làm điều gì đó gần hơn với đầu ra đường ống như thế này.
dmesg | grep hda
sẽ là:
p1 = Popen(["dmesg"], stdout=PIPE)
p2 = Popen(["grep", "hda"], stdin=p1.stdout, stdout=PIPE)
output = p2.communicate()[0]
Có rất nhiều thông tin hữu ích và đáng yêu trên trang hướng dẫn sử dụng python .