繁体   English   中英

在python中使用subprocess.call时如何将stdout重定向到文件?

[英]How do I redirect stdout to a file when using subprocess.call in python?

我从另一个python脚本(A)调用python脚本(B)。

使用subprocess.call,如何将B的stdout重定向到指定的文件?

我正在使用python 2.6.1。

将文件作为stdout参数传递给subprocess.call

with open('out-file.txt', 'w') as f:
    subprocess.call(['program'], stdout=f)

替代方法

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM