如何记录一些东西

时间:2016-12-07 21:04:40

标签: python function logging

我正在尝试将我的代码记录到文本文件中。我尝试了什么:

def do_something():
    print "test"

f = open('logtest','w')
f.write(do_something())
f.close()

所以我想保存,例如“测试”,以便您可以打开文本文件并只读“测试”。我该怎么做?

3 个答案:

答案 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()

不是使用openclose的组合,更好的方法是使用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函数只输出文本,而您希望它返回并写入文件。