我试图从文件中读取文件后删除文件,但得到“WindowsError:[错误32]进程无法访问该文件,因为它正在被另一个进程使用“python无法在关闭它后删除文件,“被另一个进程使用”
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: 我是一个白痴。 我是在一个对象 的初始化打开文件时我测试通过移动“删除”脚本的顶部,我应该把它的顶部,没有创造我的对象
对不起,把你的时间后, ,我一直在做所有周末的事情,明天到期,当它不能运行时会惊慌失措
抓斗进程资源管理器或类似的东西,并尝试采取看看什么是真正打开了该文件。 – 2009-12-06 21:44:48
如果您在打开文件之前尝试删除文件,这是否正常工作? – 2009-12-06 21:45:00
是filePath的一个目录吗? – wallyk 2009-12-06 21:49:53