pathlib模块
一、前言
pathlib库,以前一直使用的os模块,直到使用zipfile解压文件时,遇到了万恶的编码问题。突然发现还有这么一个模块的存在。所以记录下方便以后使用。
二、使用
- 导入模块
from pathlib import Path
- 用法
from pathlib import * # 实例化一个路径对象,也可以用于拼接字符串相当于os.path.join file_path = Path('F:\oldboypython\practice\week14-Djiango','day65') list_obj = file_path.parents[1] # 返回file_path祖辈路径,以列表形式,可通过序号取值。 # .iterdir() 遍历文件夹下所有文件及文件夹,返回的值是一个迭代器, for file in file_path.iterdir(): print(file)
- 常用方法
Path.iterdir() #遍历目录的子目录或者文件 Path.is_dir() #判断是否是目录 Path.glob() #过滤目录(返回生成器) Path.resolve() #返回绝对路径 Path.exists() #判断路径是否存在 Path.open() #打开文件(支持with) Path.unlink() #删除文件或目录(目录非空触发异常) 基本属性: Path.parts #分割路径 类似os.path.split(), 不过返回元组 Path.drive #返回驱动器名称 Path.root #返回路径的根目录 Path.anchor #自动判断返回drive或root Path.parents #返回所有上级目录的列表 改变路径: Path.with_name() #更改路径名称, 更改最后一级路径名 Path.with_suffix() #更改路径后缀 Path.joinpath() #拼接路径 Path.relative_to() #计算相对路径 测试路径: Path.match() #测试路径是否符合pattern Path.is_dir() #是否是文件 Path.is_absolute() #是否是绝对路径 Path.is_reserved() #是否是预留路径 Path.exists() #判断路径是否真实存在 其他方法: Path.cwd() #返回当前目录的路径对象 Path.home() #返回当前用户的home路径对象 Path.stat() #返回路径信息, 同os.stat() Path.chmod() #更改路径权限, 类似os.chmod() Path.expanduser() #展开~返回完整路径对象 Path.mkdir() #创建目录 Path.rename() #重命名路径 Path.rglob() #递归遍历所有子目录的文件
即将秃头的程序员