2012-04-04 10 views
1

私はしばしばmyFile.write("...")を使用しています。時々、更新されたファイルを再オープンするのではなく、コンソールの出力を見たいと思っています。私はIDLEを使用しています。コンソールに書き込むファイル名やハンドルなどはありますか?

myFile.write()print()に置き換えずに、myFile変数を設定するときに、ファイル名(output.txt)をSTDIOのように置き換えることはできますか?

myFile = open("output.txt", "w") 

答えて

6

あなたはsysモジュールを使用することができます...

import sys 
myFile=sys.stdout 
myFile.write("Hello!\n") 

sys.stderrも可能です。

+0

まさに私が必要としていたもの、スニペットのおかげです。 –

+0

問題ありません。お力になれて、嬉しいです。 – mgilson

0

ここに行く:sys.stdout。ほかのファイルハンドルと同じように使用してください。例えば。

print >> sys.stderr, "Hi! I'm an error!" 
+2

またはpython 3 ... 'print("こんにちは!私はエラーです! "、file = sys.stderr)' – mgilson

+0

@mgilson:しかし、2.xは本番環境ではまだ流行しています。実際にどちらの構文もあまり好きではありませんが、選択を余儀なくされた場合は、最初に指定したファイルに書き込むようにします。トマト/トマト。 –

+0

'stdin'に書き込むことはできません。あなたのためにそれを修正しました。 ;) –