Python os.removedirs() 方法



Python 的 os.removedirs() 方法遞迴刪除目錄。當我們想要刪除整個目錄樹時使用它。

os.removedirs() 的工作方式類似於 os.rmdir()。但是,唯一的區別是,如果 os.removedirs() 方法成功刪除了葉子目錄,它會嘗試依次刪除路徑中顯示的每個父目錄。這個過程會一直持續到遇到一個非空目錄。

語法

Python os.removedirs() 方法的語法如下:

os.removedirs(path)

引數

Python os.removedirs() 方法接受單個引數:

  • path − 這是需要刪除的目錄的路徑。

返回值

Python os.removedirs() 方法不返回任何值。

示例

下面的例子展示了 removedirs() 方法的基本用法。這裡,我們嘗試刪除 "tutorialsdir" 目錄。

import os, sys

# listing directories
print ("The dir is: %s" %os.listdir(os.getcwd()))

# removing
os.removedirs("/home/tp/Python/tutorialsdir")

# listing directories after removing path
print ("The dir after removal of path : %s" %os.listdir(os.getcwd()))

執行上述程式後,輸出結果如下:

The dir is:
[  'a1.txt','resume.doc','a3.py','tutorialsdir','amrood.admin' ]
The dir after removal is:
[  'a1.txt','resume.doc','a3.py','amrood.admin' ]

示例

如果指定的路徑不是目錄,則 removedirs() 方法會引發 "NotADirectoryError" 異常;如果給定的目錄不為空或不存在,則會引發 OSError 異常。

import os

# Path to the directory you want to remove
path = "/home/tp/Python/newdir"

try:
   # removing the directory
   os.removedirs(path)
except OSError as exp:
   print(f"Error: {exp.strerror}")

執行上述程式後,輸出結果如下:

Error: No such file or directory
python_files_io.htm
廣告
© . All rights reserved.