python删除目录下的空文件夹

Python027

python删除目录下的空文件夹,第1张

import os

def del_emp_dir(path):

for (root, dirs, files) in os.walk(path):

for item in dirs:

dir = os.path.join(root, item)

try:

os.rmdir(dir) #os.rmdir() 方法用于删除指定路径的目录。仅当这文件是空的才可以, 否则, 抛出OSError。

print(dir)

except Exception as e:

print('Exception',e)

if __name__ == '__main__':

dir = r'F:\test'

del_emp_dir(dir)

python删除文件夹或者文件时;可以使用os和shutil模块相关的命令

os模块提供的方法

1.os.remove(path)   #path是文件路径,如果path是一个文件夹路径时,会抛出OSError错误

2.os.unlink(path)  #path功能和remove一致,但是删除一个正在使用的文件时会报错

3.os.rmdir(path)  #path是文件夹路径,注意此时文件夹是要空才能被删除,如果文件夹不为空时,要先删除文件夹下的文件后,才能使用此命令

4.os.removedirs(path)  #path递归地删除目录,如果子目前成功被删除,则将会成功删除父目录,子目录没有成功删除,将抛出异常

shutil模块提供的方法有:

1.shutil.rmtree(dir)  #dir为目录,可以删除有内容的目录

2.shutil.rmdir(dir)  #dir为目录,只能删除空目录

os包的rmdir()函数可以用来删除一个文件夹,但是文件夹必须是空的。一种可行的方法是读取文件夹的文件列表,逐个删除文件夹中的所有文件,然而文件夹中可能还有文件夹,因此这是一个递归的操作。\x0d\x0ashutil包rmtree()函数就实现了以上功能。shutil是一个高级文件操作的包,实现了文件及文件集合复制与删除的功能。rmtree()函数接收非空文件夹的路径这唯一一个参数。示例代码如下:\x0d\x0aimport shutil\x0d\x0apath = 'g:\zhidao'\x0d\x0ashutil.rmtree(path)