2024-09-30 04:35:26 发布
网友
我有一些python代码来解压缩一个文件,然后删除它(原始文件),但是我的代码捕捉到一个异常:它不能删除文件,因为它正在使用中。在
我认为问题是当删除代码运行时,解压操作还没有完成,所以抛出了异常。那么,如何在删除文件之前检查解压操作的运行状态?在
file = zipfile.ZipFile(lfilename) for filename in file.namelist(): file.extract(filename,dir) remove(lfilename)
请尝试在删除文件之前关闭它。在
file = zipfile.ZipFile(lfilename) for filename in file.namelist(): file.extract(filename,dir) file.close() remove(lfilename)
ZipFile的文档说明:
ZipFile is also a context manager and therefore supports the with statement.
因此,我建议您执行以下操作:
with zipfile.ZipFile(lfilename) as file: file.extract(filename, dir) remove(lfilename)
使用with语句的一个优点是文件会自动关闭。它也很漂亮(简短、简洁、有效)。在
另请参见PEP 343。在
必须先关闭文件。在
file.close() remove(lfilename)
或者,您可以执行以下操作:
请尝试在删除文件之前关闭它。在
ZipFile的文档说明:
因此,我建议您执行以下操作:
使用with语句的一个优点是文件会自动关闭。它也很漂亮(简短、简洁、有效)。在
另请参见PEP 343。在
必须先关闭文件。在
或者,您可以执行以下操作:
^{pr2}$相关问题 更多 >
编程相关推荐