如何使用具有读锁定功能的Python(Windows)删除文件?
显而易见,不起作用:
import os
os.remove("test_file.csv")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
WindowsError: [Error 32] The process cannot access the file because it is being
used by another process: 'test_file.csv'
答案 0 :(得分:2)
如果您想无条件地强制关闭活动句柄以便删除该文件,您可以使用文件名作为参数来利用Microsoft的handle tool(它将返回对象名称中包含该字符串的所有文件句柄,然后使用-c
选项再次调用句柄,指定要关闭的精确句柄及其所属的pid。 / p>
我过去成功地使用过这种方法,我知道我想要绝对无条件地杀死特定文件/目录上的活动句柄,这样我就可以继续进行其他操作了。
但是,请记住,正如 handle 的文档所述:
警告:关闭句柄可能会导致应用程序或系统不稳定。
您可以使用subprocess.check_output
来调用句柄。