Python,在大型模块化程序中保持动态命名文件的打开状态
我试图为一个大型模块化程序创建一个日志文件。名称是用时间戳动态生成的,我想不出传递打开的文件名的好方法,只能使其成为全局变量:Python,在大型模块化程序中保持动态命名文件的打开状态,python,file,dynamic,io,modular,Python,File,Dynamic,Io,Modular,我试图为一个大型模块化程序创建一个日志文件。名称是用时间戳动态生成的,我想不出传递打开的文件名的好方法,只能使其成为全局变量: import time def CreateLogFile(): timestr = time.strftime("%Y%m%d-%H%M%S") global LogFile filenamestring = timestr + 'LogFile.txt' LogFile = open('PrintLogs/' + filenames
import time
def CreateLogFile():
timestr = time.strftime("%Y%m%d-%H%M%S")
global LogFile
filenamestring = timestr + 'LogFile.txt'
LogFile = open('PrintLogs/' + filenamestring, 'w')
CreateLogFile()
这不太管用,我想知道是否有人有更好的建议。谢谢只需制作您自己的日志模块:
import mylogger
log_file_handle = mylogger.get_log()
get
方法可以(应该)处理创建新日志文件的所有逻辑,如果您还没有创建日志文件,或者将句柄返回到已创建的会话文件。您可以将其全部封装到一个类中,以避免全局性。然后你可以将类的一个实例传递给需要使用它的模块。谢谢,我不知道logger模块存在