pathlib
学习 Python 时,尤其是在进行文件操作和数据处理时,经常会处理路径问题。最常用和常见的是 os.path 模块,它将路径当做字符串进行处理,如果使用不当可能导致难以察觉的错误,而且代码很难跨平台复用。pathlib
就是一个非常棒的Python标准库,超级好用。
pathlib
模块提供了一种在 POSIX 系统(如 Linux 和 Windows)下运行良好的高级抽象,它抽象了资源路径和资源命名结构,把文件系统接口从os模块中隔离出来,将操作作为方法
提供,使用更简单。
下面这张图,完美诠释pathlib
的核心
pathlib 基本组件
>>> from pathlib import Path >>> path = Path(r'C:/Users/Miguel/projects/blog/config.tar.gz') >>> path.drive 'C:' >>> path.root '/' >>> path.root 'C:/' >>> path.parent WindowsPath('C:/Users/Miguel/projects/blog') >>> path.name 'config.tar.gz' >>> path.stem 'config.tar' >>> path.suffix '.gz' >>> path.suffixes ['.tar', '.gz']
常用属性和基本方法
pathlib
的常用属性
Path.parents # 返回所有上级目录的列表 Path.parts # 分割路径 类似os.path.split(), 不过返回元组 Path.suffix # 返回文件后缀
pathlib
的常用基本方法
Path.is_dir() # 判断是否是目录 Path.is_file() # 是否是文件 Path.exists() # 判断路径是否存在 Path.open() # 打开文件(支持with) Path.resolve() # 返回绝对路径 Path.cwd() # 返回当前目录 Path.iterdir() # 遍历目录的子目录或者文件 Path.mkdir() # 创建目录 Path.rename() # 重命名路径 Path.unlink() # 删除文件或目录(目录非空触发异常) Path.joinpath() # 拼接路径
os and os.path VS pathlib
pathlib
可替代 os 和 os.path 的常用功能:
总结
pathlib
将路径作为对象创建,提供了处理文件路径的方便快捷的方法。
本文我并没有罗列pathlib
的每一个用法,我觉得最重要的是要充分理解 pathlib 基本组件,然后有疑问去查文档即可。