这是长代码的一部分。
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
我不知道为什么输出有2行而filename.txt是空白的? 请帮忙
答案 0 :(得分:0)
您可以使用子流程。
这是一个例子。
#/usr/bin/python
import subprocess
p = subprocess.Popen('ps -ef >ProcessFile.txt', shell=True)
retval = p.wait()