我是 Python 新手。我正在使用带有 Python 模式的 Vim 来编辑和测试我的代码,并注意到如果我多次运行相同的代码,日志文件只会在第一次运行代码时更新。例如下面是一段名为“testlogging.py”的代码
#!/usr/bin/python2.7
import os.path
import logging
filename_logging = os.path.join(os.path.dirname(__file__), "testlogging.log")
logging.basicConfig(filename=filename_logging, filemode='w',
level=logging.DEBUG)
logging.info('Aye')
如果我打开一个新的 gvim 会话并使用 python 模式运行此代码,那么我会得到一个名为“testlogging.log”的文件,其中包含内容
INFO:root:Aye
看起来很有希望!但是如果我删除日志文件并再次以 pythong-mode 运行代码,则不会重新创建日志文件。如果此时我在这样的终端中运行代码
./testlogging.py
然后将再次生成日志文件!
我检查了 Python 文档并在日志记录教程( https://docs.python.org/2.7/howto/logging.html#logging-to-a-file )中注意到了这一行:
一个非常常见的情况是在文件中记录日志事件,接下来让我们看看。请务必在新启动的 Python 解释器中尝试以下操作,不要只从上述会话继续:...
所以我猜这个日志文件只更新一次的问题与我第二次运行代码时保留在同一个解释器中的python模式有关。所以我的问题是:有没有办法解决这个问题,通过摆弄日志模块,在代码中添加一些东西来重置解释器或告诉 Python 模式来重置它?
我也很好奇为什么日志记录模块需要一个新启动的解释器才能工作......
提前感谢您的帮助。