我試圖從文件中讀取文件後刪除文件,但得到「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