私はコードをテキストファイルに記録しようとしています。私が試したこと:何かをログに記録する方法
def do_something():
print "test"
f = open('logtest','w')
f.write(do_something())
f.close()
だから私は保存したいと思います。テキストファイルを開き、 "test"だけを読むことができるように "test"これはどうすればいいですか?
私はコードをテキストファイルに記録しようとしています。私が試したこと:何かをログに記録する方法
def do_something():
print "test"
f = open('logtest','w')
f.write(do_something())
f.close()
だから私は保存したいと思います。テキストファイルを開き、 "test"だけを読むことができるように "test"これはどうすればいいですか?
現在、do_something
機能で印刷しています。あなたはwrite
方法に結果にアクセスできるようにreturn
ステートメントを使用する必要があります。
def do_something():
return "test"
f = open('logtest','w')
f.write(do_something())
f.close()
代わりopen
とclose
の組み合わせを使用しての、より良い方法はopen
に実装されたコンテキストマネージャを使用するようになり、ファイルの意志を自動的with
ブロックの最後に閉鎖される:あなたはまだprint
あなたの関数内あなたが本当にしたいことができるかどう
with open('logtest','w') as f:
f.write(do_something())
へ:
def do_something():
string = "test"
print(string)
return string
の代わりにreturn "test"
を書きます。 print
関数は、返されてファイルに書き込まれる間にテキストを出力するだけです。
これを実装するより良い方法は、Pythonのロギングモジュールです。
import logging
def do_something():
logging.info("test")
LOG_FILENAME = 'logtest'
logging.basicConfig(filename=LOG_FILENAME,level=logging.INFO)
do_something()
:あなたが行うことができ、あなたの特定のケースで
link
import logging
LOG_FILENAME = 'example.log'
logging.basicConfig(filename=LOG_FILENAME,level=logging.INFO)
logging.info('This message should go to the log file')