一、os模块介绍
Python的os模块提供了操作操作系统的方法,如文件和目录管理、进程管理等。在文件和目录管理方面,常用的方法有os.getcwd()获取当前工作目录,os.chdir(path)改变当前工作目录,os.listdir(path)列出指定目录下的文件和文件夹,os.remove(path)删除指定文件,os.mkdir(path)创建目录等方法。
二、os.removedirs方法介绍
os.removedirs(path)方法可以删除指定目录path以及其所有子目录如果这些目录都是空的。该方法会逐层删除每个目录,直到遇到非空目录为止,如果path是非空目录或者其中有某个目录非空则会抛出异常,因此在使用该方法前需要先进行目录空性校验。由于os.removedirs方法只会删除空目录,因此在使用该方法前需要先进行目录空性校验。
三、清理多个空目录示例代码
import os def remove_empty_dirs(path): '''删除指定路径及其所有子目录下的空目录''' if not os.path.isdir(path): return if len(os.listdir(path)) == 0: os.rmdir(path) return for sub_dir in os.listdir(path): sub_path = os.path.join(path, sub_dir) remove_empty_dirs(sub_path) # 检查删除后是否该目录变为空目录,为空则删除 if len(os.listdir(path)) == 0: os.rmdir(path) if __name__ == '__main__': root_dir = 'E:/test' remove_empty_dirs(root_dir)上述代码中,函数remove_empty_dirs用于递归删除指定路径下以及其子目录下的空目录。首先判断当前目录是否为空,如果为空则删除该目录;否则递归进入子目录继续删除空目录。在递归返回时,需要再次检查当前目录是否为空,如果为空则删除该目录。在主函数中,指定要清理的根目录即可。
四、总结
Python的os.removedirs方法可以方便地删除指定目录及其子目录下的所有空目录。使用该方法前需要进行目录空性校验,可以参考上述示例代码实现目录清理。