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)