Python:删除锁定文件
我该如何在Windows上用Python删除一个被锁定的文件呢?
看起来很简单,但实际上并不奏效:
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'
1 个回答
2
如果你想强制关闭正在使用的文件句柄,以便可以删除这个文件,你可以使用微软的handle工具,把文件名作为参数传进去(这样可以找到所有包含这个字符串的文件句柄),然后再用handle工具,选择-c
选项,指定要关闭的具体句柄和它所属的进程ID。
我以前用过这个方法,成功地在一些情况下强制关闭了某个文件或文件夹的活动句柄,这样我就可以继续进行其他操作。
不过,要记住,正如handle的文档所说:
警告:关闭句柄可能会导致应用程序或系统不稳定。
你可以使用subprocess.check_output
来调用handle工具。