Python中的OS模塊提供了與操作係統進行交互的函數。操作係統屬於Python的標準實用程序模塊。該模塊提供了使用依賴於操作係統的函數的便攜式方法。
如果文件名和路徑無效或無法訪問,或者具有正確類型但操作係統不接受的其他參數,則os模塊中的所有函數都會引發OSError。
os.removedirs()
Python中的方法用於遞歸刪除目錄。如果指定路徑中的葉子目錄已成功刪除,則os.removedirs()
嘗試依次刪除路徑中提到的每個父目錄,直到引發錯誤。引發的錯誤將被忽略,因為通常會引發錯誤,因為要刪除的目錄不為空。
例如,考慮以下路徑:
'/home/User/Documents/foo/bar/baz'
在以上路徑中,os.removedirs()
方法將嘗試首先刪除葉子目錄,即“ baz”。如果葉目錄“ baz”已成功刪除,則方法將嘗試刪除“ /home /User /Documents /foo /bar”,然後刪除“ /home /User /Documents /foo /”,然後刪除“ /home /User /Documents”,直到引發錯誤。要刪除的目錄應該為空。
用法: os.removedirs(path)
參數:
path:表示文件路徑的path-like對象。 path-like對象是表示路徑的字符串或字節對象。
返回類型:此方法不返回任何值。
代碼1:使用os.removedirs()方法刪除空的目錄樹
# Python program to explain os.removedirs() method
# importing os module
import os
# Leaf Directory name
directory = "baz"
# Parent Directory
parent = "/home/User/Documents/foo/bar"
# Path
path = os.path.join(parent, directory)
# Remove the Directory
# "baz"
os.removedirs(path)
print("Directory '%s' has been removed successfully" %directory)
# All parent directory
# of 'baz' will be also
# removed if they are empty
輸出:
Directory 'baz' has been removed successfully
代碼2:使用os.removedirs()方法時可能出現的錯誤
# Python program to explain os.removedirs() method
# importing os module
import os
# If the specified path
# is not a directory
# then 'NotADirectoryError'
# exception will be raised
# If the specified path
# is not an empty directory
# then an 'OSError'
# will be raised
# If there is any
# permission issue while
# removing the directory
# then the 'PermissionError'
# exception will be raised
# similarly if specified path
# is invalid an 'OSError'
# will be raised
# Path
path = '/home/User/Documents/ihritik/file.txt'
# Try to remove
# the specified path
os.removedirs(path)
輸出:
Traceback (most recent call last): File "removedirs.py", line 33, in os.removedirs(path) File "/usr/lib/python3.6/os.py", line 238, in removedirs rmdir(name) NotADirectoryError:[Errno 20] Not a directory:'/home/User/Documents/ihritik/file.txt'
代碼3:使用os.removedirs()方法時處理錯誤
# Python program to explain os.removedirs() method
# importing os module
import os
# Path
path = '/home/User/Documents/ihritik/file.txt'
# Try to remove
# the specified path
try:
os.removedirs(path)
print("Director removed successfully")
# If path is not a directory
except NotADirectoryError:
print("Specified path is not a directory.")
# If permission related errors
except PermissionError:
print("Permission denied.")
# for other errors
except OSError as error:
print(error)
print("Directory can not be removed")
輸出:
Specified path is not a directory.
參考: https://docs.python.org/3/library/os.html
相關用法
- Python os.dup()用法及代碼示例
- Python set()用法及代碼示例
- Python next()用法及代碼示例
- Python sys.getrecursionlimit()用法及代碼示例
- Python PIL eval()用法及代碼示例
- Python sympy.rf()用法及代碼示例
- Python os.waitid()用法及代碼示例
- Python os.WIFEXITED()用法及代碼示例
- Python os.scandir()用法及代碼示例
- Python PIL getpalette()用法及代碼示例
- Python sympy.ff()用法及代碼示例
- Python Decimal max()用法及代碼示例
- Python sympy.nT()用法及代碼示例
- Python os.sync()用法及代碼示例
注:本文由純淨天空篩選整理自ihritik大神的英文原創作品 Python | os.removedirs() method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。