2013-05-17 45 views
1

我使用的是django視圖,我使用tempfile.gettempdir()創建了一個temp_dir。無法使用python刪除臨時文件

我在那裏寫一個gzip文本文件,然後在其他地方scp文件。當這些任務完成時,我嘗試刪除temp_dir。

if os.path.exists(temp_dir): 
     shutil.rmtree(temp_dir) 

但是,有時我得到這個錯誤回:

Operation not permitted: '/tmp/.ICE-unix' 

任何想法,這個錯誤是什麼手段,以及如何最好地處理這種情況呢?

回答

1

tempfile.gettempdir()不會創建臨時目錄 - 它會返回您的系統的standand tmp目錄。不要刪除它!這會將每個人的臨時文件都刪除。您可以刪除在臨時目錄中創建的文件,也可以創建自己的臨時目錄,但只保留這一個。

-1

我不是專家,但嘗試運行Python程序或您的使用要做到這一點作爲管理員,然後將最有可能允許這樣做的過程是什麼?

+1

......這是我們不應該以root身份運行的一個很好的理由! (微笑) – tdelaney

0

爲TEMP_DIR值取自OS環境變量,顯然其他一些進程也在使用它來創建文件。其他文件可能正在使用/鎖定,這將阻止您刪除它。 問:什麼是/tmp/.ICE-unix? 答:它是保存X-windows會話信息的目錄。