Python 如何将命令的输出复制到文件?

Python 如何将命令的输出复制到文件?,python,linux,Python,Linux,这是长代码的一部分 ExecutableName = 'op.test' InterfaceName = 'TN3270' command = ('./'+ExecutableName+' '+InterfaceName+' 2>&1 | tee -a filename.txt') os.system(command) print command 最后,命令正确执行,但输出显示在终端上,而不是在“filename.txt”上复制,文件为空。我甚至试过 command=('./'

这是长代码的一部分

ExecutableName = 'op.test'
InterfaceName = 'TN3270'
command = ('./'+ExecutableName+' '+InterfaceName+' 2>&1 | tee -a  filename.txt')
os.system(command)
print command
最后,命令正确执行,但输出显示在终端上,而不是在“filename.txt”上复制,文件为空。我甚至试过

command=('./'+ExecutableName+''+InterfaceName+'>filename.txt')

command = ('./'+ExecutableName+' '+InterfaceName+' 2>&1 > filename.txt')
但print语句返回相同的结果:

./op.test TN3270
2>&1 | tee -a  filename.txt
我不知道为什么输出为两行,filename.txt为空?
请帮助您使用子流程执行操作。

这里有一个例子

#/usr/bin/python

import subprocess

p = subprocess.Popen('ps -ef >ProcessFile.txt', shell=True)
retval = p.wait()