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()