我试图在读取文件后将其删除,但获取“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:\文件\文件.txt”)
WindowsError:[Error 32]进程无法访问该文件,因为另一个进程正在使用该文件:“c:\ file\file.txt”
然后我在windows资源管理器中查找,文件返回,为空。我可以在资源管理器中删除,然后当我运行要删除的脚本时,它抛出错误(并创建空文件)。知道这里会发生什么吗?
更新3:
我是个白痴。
我在初始化一个对象时打开文件
当我通过将“remove”移动到脚本顶部进行测试时,我应该将它放在顶部,而不是在创建对象之后
很抱歉耽误你的时间,我整个周末都在忙明天要交的东西,当它跑不动时我很惊慌