在使用 Python 进行文件和目录操作时,传统的 os.path 模块虽然功能强大,但语法不够直观。自 Python 3.4 起,官方引入了 pathlib 模块,它以面向对象的方式处理文件系统路径,让代码更简洁、易读、跨平台。本文将带你从零开始,全面掌握 Python pathlib模块 的核心用法。

pathlib 是 Python 标准库中的一个模块,用于以面向对象的方式表示和操作文件系统路径。它提供了一个名为 Path 的类,可以轻松创建、遍历、修改和查询路径信息。
相比传统方法,pathlib 的优势包括:
pathlib 是 Python 3.4+ 内置模块,无需额外安装。只需一行代码即可导入:
from pathlib import Path使用 Path() 可以创建表示当前目录、绝对路径或相对路径的对象:
# 当前工作目录p = Path('.')# 用户主目录home = Path.home()# 绝对路径(跨平台写法)doc_path = Path('/Users/name/Documents') # Linux/macOS# 或win_path = Path('C:/Users/name/Documents') # Windows# 使用 / 拼接路径(推荐!)data_file = Path('data') / 'input.txt'注意:即使在 Windows 上,也可以使用正斜杠 / 来拼接路径,pathlib 会自动转换为正确的格式。这是 Python文件路径处理 中的一大便利!
以下是一些最常用的 Path 属性和方法:
.name:获取文件名(含扩展名).stem:获取文件名(不含扩展名).suffix:获取扩展名(如 .txt).parent:获取父目录.exists():判断路径是否存在.is_file() / .is_dir():判断是否为文件或目录.mkdir():创建目录.read_text() / .write_text():读写文本文件示例代码:
file_path = Path('reports/2023_summary.pdf')print(file_path.name) # 输出: 2023_summary.pdfprint(file_path.stem) # 输出: 2023_summaryprint(file_path.suffix) # 输出: .pdfprint(file_path.parent) # 输出: reports# 安全创建多级目录file_path.parent.mkdir(parents=True, exist_ok=True)# 写入文本文件(Path('notes') / 'todo.txt').write_text('学习 pathlib 模块')# 读取内容content = (Path('notes') / 'todo.txt').read_text()print(content) # 输出: 学习 pathlib 模块使用 .iterdir() 可以遍历目录下的所有子项:
folder = Path('documents')for item in folder.iterdir(): if item.is_file(): print(f"文件: {item.name}") elif item.is_dir(): print(f"目录: {item.name}")如果需要递归遍历所有子目录,可以使用 .glob() 或 .rglob():
# 查找所有 .py 文件(仅当前目录)for py_file in Path('.').glob('*.py'): print(py_file)# 递归查找所有 .txt 文件(包括子目录)for txt_file in Path('.').rglob('*.txt'): print(txt_file)| 操作 | os.path 写法 | pathlib 写法 ||------|---------------|----------------|| 拼接路径 | os.path.join('a', 'b') | Path('a') / 'b' || 判断文件存在 | os.path.exists('file.txt') | Path('file.txt').exists() || 获取文件大小 | os.path.getsize('file.txt') | Path('file.txt').stat().st_size || 读取文本 | 需要 open() | Path('file.txt').read_text() |
可以看出,pathlib路径操作 更加直观、简洁,且避免了大量字符串拼接。
通过本篇 pathlib教程,你应该已经掌握了如何使用 pathlib 模块进行日常的文件和目录操作。无论是创建路径、读写文件,还是遍历目录,pathlib 都能让你的代码更优雅、更 Pythonic。
建议在新项目中优先使用 pathlib,它不仅是现代 Python 开发的最佳实践,也是提升代码可维护性的关键一步。
现在就打开你的 Python 编辑器,尝试用 pathlib 重写一段旧的路径操作代码吧!
本文由主机测评网于2025-12-15发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://vpshk.cn/2025128147.html