我的计划是每当运行脚本时,获取当前时间并为我生成的日志文件创建一个文件夹。脚本的每一步都会在此文件夹中创建一个新的日志文件。
问题是,我试图弄清楚如何在脚本期间使用同一个文件夹。现在发生的事情是每次创建记录器时都会获取当前时间,每次都创建一个新文件夹。
这是模块的样子:
logger.py
...
CURRENT_TIME = # get current time
LOG_FOLDER = "logs/%s/" % CURRENT_TIME
...
def get_logger(name):
# Create a log file with the given name in the LOG_FOLDER
每次我import logger.py
重新计算时会发生什么CURRENT_TIME
。我想避免这种情况的方法是from logger.py import *
为所有模块执行一次代码,使它们具有相同的日志文件夹。
主要问题是脚本调用其他python脚本,产生新进程等。当这些新进程导入 logger 时,它们还没有导入它,所以它们将重新生成CURRENT_TIME
.
那么有什么好的方法来解决这个问题呢?我想到的一种解决方案是让记录器使用一个名为的常量文件夹temp
,并在主脚本完成时将其重命名为当前时间(或将当前时间存储在脚本的开头)。我真的不喜欢这个解决方案,好像有异常或错误并且脚本死了,temp
当我希望它成为脚本的时间时,该文件夹将保留,所以我知道它何时失败。