pathlib提供面向对象的路径操作,支持创建路径、拼接、访问组件、判断属性、读写文件、遍历目录、管理目录及获取文件信息,相比os.path更直观且跨平台兼容。

pathlib 是 Python 3.4+ 引入的用于处理文件路径的标准库模块,提供面向对象的方式操作路径,比传统的 os.path 更直观、更易读。以下是它的主要用法。
1. 创建路径对象
Path 是核心类,用来表示一个文件或目录路径。
- 使用字符串创建:
from pathlib import Path; p = Path('/home/user/documents') - 使用多个部分拼接:
p = Path('/home') / 'user' / 'documents' - 获取当前工作目录:
p = Path.cwd() - 获取用户主目录:
p = Path.home()
2. 路径拼接与组合
使用斜杠 / 操作符安全地拼接路径,无需担心斜杠方向问题。
path = Path('data') / 'raw' / 'file.txt'- 支持与字符串混合:
Path('data') / 'output.csv'
3. 访问路径的各个部分
可以轻松提取路径中的不同组成部分。
立即学习“Python免费学习笔记(深入)”;
-
p.name:获取文件名(含扩展名),如report.pdf -
p.stem:获取文件名主体,如report -
p.suffix:获取扩展名,如.pdf -
p.parent:获取上级目录 -
p.parts:返回路径各部分组成的元组
4. 判断路径属性
检查路径是否存在以及其类型。
dmSOBC SHOP网店系统由北京时代胜腾信息技术有限公司(http://www.webzhan.com)历时6个月开发完成,本着简单实用的理念,商城在功能上摒弃了外在装饰的一些辅助功能,尽可能的精简各项模块开发,做到有用的才开发,网店V1.0.0版本开发完成后得到了很多用户的使用并获得了好评,公司立即对网店进行升级,其中包括修正客户提出的一些意见和建议,现对广大用户提供免费试用版本,如您在使用
-
p.exists():路径是否存在 -
p.is_file():是否为文件 -
p.is_dir():是否为目录 -
p.is_symlink():是否为符号链接
5. 文件读写操作
可以直接对文件进行读写,无需打开关闭。
- 读取文本:
content = Path('hello.txt').read_text(encoding='utf-8') - 写入文本:
Path('output.log').write_text('Hello!', encoding='utf-8') - 读取二进制:
data = Path('image.png').read_bytes()
6. 遍历目录
提供了多种方式列出目录内容。
-
p.iterdir():遍历目录下所有条目(返回生成器) -
p.glob("*.py"):匹配特定模式的文件,如所有 Python 文件 -
p.rglob("*.txt"):递归匹配所有子目录中的 .txt 文件
7. 创建和删除目录
可直接管理目录结构。
- 创建单层目录:
Path('logs').mkdir(exist_ok=True) - 创建多层目录:
Path('a/b/c').mkdir(parents=True, exist_ok=True) - 删除空目录:
Path('temp').rmdir() - 删除文件:
Path('old.txt').unlink(missing_ok=True)
8. 获取文件信息
获取文件的元数据。
-
p.stat():返回 stat 结构,包含大小、权限、修改时间等 -
p.lstat():类似 stat,但不解析符号链接 - 例如获取文件大小:
p.stat().st_size










