我需要開發一個腳本,將啓動一些計算。希望這個腳本通過刪除一些臨時目錄來正確處理^ C。我已經試過的代碼的幾個版本中signal_handler:Python,刪除目錄:錯誤文件存在
shutil.rmtree(self.temp)
甚至
os.system("rm -rf " + self.temp)
當我中斷執行和處理程序被調用來刪除目錄,我得到這樣的錯誤:
OSError: [Errno 17] File exists : 'foo'
或
rm: Unable to remove directory foo: File exists
執行後,我要刪除的目錄是空的,我可以用shell中的rm -r
將其刪除。但是,如果我執行代碼:
for f in os.listdir(self.temp):
os.remove(os.path.join(self.temp,f))
for f in os.listdir(self.temp):
print f
os.rmdir(self.temp)
我,當然,收到錯誤,但第二循環認爲這個文件:.nfsA13D3
任何人都有一個解決我的問題? 謝謝!
當某個NFS掛載的文件仍然在使用中時,'.nfs *'文件被創建。一旦'.nfs'文件的引用計數降到0,它*應該*消失(我遇到過去並不總是這樣的情況,但需要手動清除)。 – twalberg