Python:删除锁定的文件

Python:删除锁定的文件,python,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 b

如何使用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'
导入操作系统
删除(“test_file.csv”)
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
WindowsError:[错误32]进程无法访问该文件,因为它正在被删除
由另一个进程使用:“test_file.csv”

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

在过去,我曾成功地使用过这种方法,当我知道我想绝对、无条件地杀死特定文件/目录上的活动句柄,以便继续执行另一个操作时

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

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

您可以使用
子流程。检查\u output
以调用句柄


文件句柄是什么?你的剧本?或其他程序?您需要关闭已打开该文件的程序。在Win32 API中,有一种方法可以打开文件,以便在程序关闭时将其删除。我不知道它是否在Python中的某个地方公开。然而,也许你这样做是为了一个你自己打开的临时文件?在这种情况下,请查看
tempfile
模块。Windows不允许删除打开的文件。您只能计划删除它。有关Linux版本,请参阅: