【发布时间】:2010-11-03 19:04:38
【问题描述】:
我有一个由多个模块组成的 Python 程序。 “main”模块创建一个文件变量log_file 用于记录输出;所有其他模块也需要写入该文件。
但是,我不想将“主”模块导入其他模块,因为这将是一个非常奇怪的依赖项(更不用说它甚至可能由于循环依赖项而无法工作)。
那么,我应该将log_file 变量存储在哪里?
编辑:
按照@pyfunc 的回答——这样可以吗:
--- config.py ---
# does not mention log_file
# unless it's required for syntax reasons; in which case log_file = None
# ...
--- main.py ---
from datetime import datetime
import config.py
log_filename = str(datetime.now()) + '.txt'
config.log_file = open(log_filename, 'w')
# ...
--- another_module.py ---
import config.py
# ...
config.log_file.write(some_stuff)
【问题讨论】:
-
这个问题似乎没有任何特定于 py3k 的内容。
-
我建议使用带有配置文件的日志记录包而不是自定义解决方案。
-
我只是打印输出,而不是错误。我想我仍然可以使用 logging 包......虽然我觉得这有点矫枉过正,我只需要将内容打印到文件中。
标签: python module python-3.x