2012-09-03 29 views
2

我試圖使用python刪除目錄,但我不想遞歸刪除的過程中整個目錄路徑刪除目錄:即使用shutil模塊

/家庭/ DIR/DIR/dirtoberemoved

所以我不想刪除更高級別的任何東西,只是一個目錄及其所有內容。我一直在尋找stackoverflow來研究這個問題,大多數答案都包括使用我不熟悉的shutil模塊,看看它的模塊的Python文檔,它說'刪除整個目錄樹'

如果我是這樣的:

if os.path.exists("/home/dir/dir/dirtoberemoved"); 

     shutil.rmtree("/home/dir/dir/dirtoberemoved"); 

  shutil.rmtree("/dirtoberemoved"); 

將整個路徑被刪除?如果是的話,有沒有什麼好辦法只是刪除python中的一個非空目錄而不刪除更高級別的目錄?

回答

4

您需要指定整個路徑要刪除的目錄。只有路徑的最後部分將被刪除,/home/dir/dir/部分將不變。

刪除是指在指定路徑中包含的任何子目錄,所以如果存在/home/dir/dir/dirtoberemoved/foo子目錄,它將與其父目錄一起被刪除。

+0

太好了,謝謝! :) – Sarah92

+0

@SarahAddis:如果答案有幫助,請記住,您可以通過檢查答案分數下方的大V標記來標記它。這將表明未來的訪問者一個答案正在爲你工作! –

+0

我這樣做了,但我需要15聲望!然而,我確實點擊了「是」這個文章是否對你有用「 - 再次感謝。 – Sarah92