logo头像
Snippet 博客主题

Python删除文件和目录的方法

本文于1124天之前发表,文中内容可能已经过时。

Python删除文件和目录的方法
os.remove(path)

删除文件 path. 如果path是一个目录, 抛出 OSError错误。如果要删除目录,请使用rmdir().
remove() 同 unlink() 的功能是一样的
在Windows系统中,删除一个正在使用的文件,将抛出异常。在Unix中,目录表中的记录被删除,但文件的存储还在。

os.removedirs(path)
递归地删除目录。类似于rmdir(), 如果子目录被成功删除, removedirs() 将会删除父目录;但子目录没有成功删除,将抛出错误。
举个例子, os.removedirs(“foo/bar/baz”) 将首先删除 “foo/bar/ba”目录,然后再删除foo/bar 和 foo, 如果他们是空的话
如果子目录不能成功删除,将 抛出 OSError异常
os.rmdir(path)
删除目录 path,要求path必须是个空目录,否则抛出OSError错误

递归删除目录和文件(类似DOS命令DeleteTree):

1
2
3
4
5
6
import os
for root, dirs, files in os.walk(top, topdown=False):
for name in files:
os.remove(os.path.join(root, name))
for name in dirs:
os.rmdir(os.path.join(root, name))

还有一个更简单的:

1
2
3
import shutil
shutil.rmtree()
__import__('shutil').rmtree()

评论系统未开启,无法评论!