最后重命名日志文件

时间:2017-10-05 15:12:22

标签: python-2.7 logging file-rename

在程序开头,日志文件命名为:

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之前提供时间延迟?

提前感谢您纠正/建议解决方案。

0 个答案:

没有答案