我从另一个python脚本(A)调用python脚本(B)。
使用subprocess.call,如何将B的stdout重定向到指定的文件?
我正在使用python 2.6.1。
答案 0 :(得分:35)
将文件作为stdout
参数传递给subprocess.call
:
with open('out-file.txt', 'w') as f:
subprocess.call(['program'], stdout=f)
答案 1 :(得分:1)
替代方法
import subprocess
p=subprocess.Popen('lsblk -l|tee a.txt',stdout=subprocess.PIPE,shell=True)
(output,err)=p.communicate()
p_status=p.wait()
print output
上面的代码会将命令输出写入文件a.txt