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
广告