Python 删除某一目录下的所有文件或文件夹
实例:
def del_file(filepath): """ 删除某一目录下的所有文件或文件夹 :param filepath: 路径 :return: """ del_list = os.listdir(filepath) for f in del_list: file_path = os.path.join(filepath, f) if os.path.isfile(file_path): os.remove(file_path) elif os.path.isdir(file_path): shutil.rmtree(file_path)
shutil是一个高层次的文件操作模块。True参数表示ignore_errors(忽略拷贝时候的错误)。
类似于高级API,而且主要强大之处在于其对文件的复制与删除操作更是比较支持好。
1.取得当前目录
files = os.getcwd() # files中保存的是当前的执行目录
如果是要获得程序运行的当前目录所在位置,那么可以使用os模块的os.getcwd()函数。
如果是要获得当前执行的脚本的所在目录位置,那么需要使用sys模块的sys.path[0]变量或者sys.argv[0]来获得
2.更改当前目录
os.chdir("abc/bbb") #将当前的目录设置为abc/bbb
说明:当指定的目录不存在时,引发异常
3.将一个路径名分解为目录名和文件名两部分
fpath,fname=os.path.split("c:/file/log.log") c:/file log.log
4.分解文件名的扩展名
a,b = os.path.splitext("C:\a\b.txt") #C:\a\b .txt
5.判断一个路径(目录或文件)是否存在
bool = os.path.exists("filepath') # True 或False
6.判断是否为文件
bool = os.path.isfile(file) # True 或 False
7.判断是否为目录
bool = os.path.isdir(path) # True 或False
8.获取某目录中的文件及子目录的列表
file_list = os.listdir("c:\a") # a.py,b.py
9.创建子目录
os.makedirs(“../123”) #path是要创建的子目录
调用有可能失败,可能的原因是:
(1) path 已存在时(不管是文件还是文件夹)
(2) 驱动器不存在
(3) 磁盘已满
(4)磁盘是只读的或没有写权限
10.删除子目录
os.rmdir(path) #path 是要删除的子目录
产生异常的可能原因:
(1) path 不存在
(2) path 子目录中有文件或下级子目录
(3) 没有操作权限或只读
11.删除文件
os.remove(filename) #filename:要删除的文件名
产生异常的可能原因:
(1) filename 不存在
(2) 对filename文件, 没有操作权限或只读。
12.文件改名
os.name(oldFilename,newFilename)
产生异常的原因:
(1) oldfilename 旧文件名不存在
(2) newFilename 新文件已经存在时,此时,您需要先删除 newFilename 文件。