2017-01-17 1 views
0

例えば、私はこのように、シェルコマンドを実行するためにos.system使用することができます。Python:io出力コンテンツから戻り値を除外する方法をリダイレクトしますか?

>>> import os 
>>> os.system("ls") 
1p.py     Tmytest1    getpip.py    src 
1p.pyc     a.out     helloworld    tags 
0 

はそれを「0」は、「システム」関数呼び出しの戻り値であるようだ、とのpythonプリント。そして、私はこのようなファイルへのシステムコマンドの出力をリダイレクトしようとした:

>>> import os 
>>> import sys 
>>> testlog=open('testlog.txt','w') 
>>> os.dup2(testlog.fileno(),sys.stdout.fileno()) 
>>> print 'abc' 
>>> print 'xyz' 
>>> os.system("ls") 

それから私の猫「testlog.txt」、私は内容が「0」の最後の行が含まれていました。これは私が望むものではなく、戻り値を出力ファイルにリダイレクトされないようにする方法ですか?

+1

'a = os.system( 'ls')'のようにすると、コマンドの出力が表示され、返された値は表示されません。 – ishaan

答えて

1

戻り値なので、保存しないでください。この後

_ = os.system('ls') 

_の値は0こと、及び0が出力に含まれないことであろう。

関連する問題