Python:删除锁定的文件

时间:2014-08-13 23:03:19

标签: python

如何使用具有读锁定功能的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'

1 个答案:

答案 0 :(得分:2)

如果您想无条件地强制关闭活动句柄以便删除该文件,您可以使用文件名作为参数来利用Microsoft的handle tool(它将返回对象名称中包含该字符串的所有文件句柄,然后使用-c选项再次调用句柄,指定要关闭的精确句柄及其所属的pid。 / p>

我过去成功地使用过这种方法,我知道我想要绝对无条件地杀死特定文件/目录上的活动句柄,这样我就可以继续进行其他操作了。

但是,请记住,正如 handle 的文档所述:

  

警告:关闭句柄可能会导致应用程序或系统不稳定。

您可以使用subprocess.check_output来调用句柄

More subprocess info