2017-01-13 11 views
0

これは長いコードの一部です。コマンドの出力をファイルにコピーするにはどうすればよいですか?

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行で来るなぜ私にはわからないとファイル名.txtが空白のですか? 助けてください

答えて

0

サブプロセスを使用することができます。

ここは例です。

#/usr/bin/python 

import subprocess 

p = subprocess.Popen('ps -ef >ProcessFile.txt', shell=True) 
retval = p.wait() 
関連する問題