我正在尝试将我的代码记录到文本文件中。我尝试了什么:
def do_something():
print "test"
f = open('logtest','w')
f.write(do_something())
f.close()
所以我想保存,例如“测试”,以便您可以打开文本文件并只读“测试”。我该怎么做?
答案 0 :(得分:4)
更好的实现方法是使用Python中的日志记录模块。 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')
在您的特定情况下,您可以:
import logging
def do_something():
logging.info("test")
LOG_FILENAME = 'logtest'
logging.basicConfig(filename=LOG_FILENAME,level=logging.INFO)
do_something()
答案 1 :(得分:3)
您当前正在使用do_something
功能进行打印。您应该使用return
语句使write
方法可以访问结果:
def do_something():
return "test"
f = open('logtest','w')
f.write(do_something())
f.close()
不是使用open
和close
的组合,更好的方法是使用open
中实现的上下文管理器,文件将在结束时自动关闭with
阻止:
with open('logtest','w') as f:
f.write(do_something())
如果你真的想要,你仍然可以在你的功能中print
:
def do_something():
string = "test"
print(string)
return string
答案 2 :(得分:2)
写return "test"
而不是print "test"
。
print
函数只输出文本,而您希望它返回并写入文件。