在程序开头,日志文件命名为:
filename='D://my_code_3/logging/'+timestr+'_XFR.log'
###set up logging to file
logging.basicConfig(level=logging.DEBUG,format='%(asctime)s %(name)-12s %(levelname)-8s %(message)s',datefmt='%m-%d %H:%M',filename='D://my_code_3/logging/'+timestr+'_XFR.log', filemode='w')
在执行程序期间,会在此日志文件中生成各种条目。
在程序结束时,需要重命名日志文件,以包含程序捕获的唯一str变量(str9
)(在程序执行开始时最初不可用,当刚刚创建了日志文件)。为了在程序结束时重命名日志文件,必须首先关闭old_name日志文件。我在以下代码中包含了这些说明:
fh = open('D://my_code_3/logging/'+timestr+'_XFR.log', "r")
print fh.read()
fh.close()
然后在最后,我要求重命名如下:
old_file ='D://my_code_3/logging/'+timestr+'_XFR.log'
new_file = 'D://my_code_3/logging/'+timestr+''+str9+'_XFR.log'
os.rename(old_file, new_file)
我收到以下错误消息:
`
回溯(最近一次调用最后一次):文件“qar_xfr_2017_10_05_WIP.py”, 283行 os.rename(old_file,new_file)WindowsError:[错误32]进程无法访问该文件,因为它正被另一个进程使用。
我认为old_file仍然被写入,因此文件打开的消息。如果是这样,我怎样才能在尝试重命名old_file之前提供时间延迟?
提前感谢您纠正/建议解决方案。