python 关闭后无法删除文件, "being used by another process"

标签 python

我试图在读取文件后删除文件,但收到“WindowsError: [Error 32] 该进程无法访问该文件,因为它正被另一个进程使用”

file = open(self.filePath)
for line in file:
        #do things
file.close()

os.remove(self.filePath) #throws error

os.rename(self.filePath, self.filePath + "old") #throws same error

有什么想法吗??

谢谢!

更新: 我刚刚重新启动了我的 (windows 7) 框,启动了 eclipse,将 os.remove("c:\file\file.txt") 移动到我的脚本的第一行,运行并得到了同样的错误。

更新 2: 我使用 Windows 资源管理器导航到该文件.. 第一次我无法删除它,它被“系统”使用。第二次尝试删除效果很好。该文件不再存在。现在当我跑 os.remove("c:\file\file.txt") WindowsError: [错误 32] 该进程无法访问该文件,因为它正被另一个进程使用:'c:\file\file.txt' 然后我查看 Windows 资源管理器,文件又回来了,是空的。我可以在资源管理器中删除,然后当我运行要删除的脚本时,它会抛出错误(并创建空文件)。知道这里会发生什么吗?

更新 3: 我是一个白痴。 我在对象的初始化中打开文件 当我通过将“删除”移动到脚本顶部进行测试时,我应该把它放在顶部,而不是在创建我的对象之后

抱歉占用您的时间,我整个周末都在做明天到期的事情,当它无法运行时我很 panic

最佳答案

另一种可能性是当您尝试删除或重命名文件时,病毒检查程序仍然打开该文件。这种情况不常发生,但一旦发生,追踪起来真的很烦人。

关于python 关闭后无法删除文件, "being used by another process",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1856718/

相关文章:

python - 如何在 Mac OS X 上将 py 扩展与 python 启动器相关联?

python - Pandas 在线绘制条形图

python - 在 Python 中赋值变量值之前对变量执行操作

python - Heroku 中推送 Flask 应用程序时出错 : sqlite3 missing

python - Matplotlib:更改附加轴的定位器

python - 从 Django 中的请求获取错误消息

python - 如何根据列数据类型创建不同绘图组

python - 在两个子图之间共享 Tensorflow 中的权重

python - 如何从字典中返回值列表?

python - 从可迭代对象中填充计数字典