Python标准库pathlib操作目录和文件

纸上星河
纸上星河
发布时间:2026-10-15| 4人浏览过
原创

本文深入解析Python标准库pathlib,介绍其作为os.path现代替代方案的优势。通过Path对象处理POSIX和Windows路径,涵盖常用属性如parts、suffix及方法如is_dir、iterdir等,展示如何高效进行文件与目录操作,提升代码跨平台兼容性与可读性。

在进行Python开发,特别是涉及文件操作和数据处理时,路径处理是常见需求。以往开发者多依赖os.path模块,该模块将路径视为字符串处理,若使用不当易引发隐蔽错误,且代码难以实现跨平台复用。pathlib 库的出现解决了这一问题,它提供了更为优雅和强大的解决方案。

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 提供了丰富的属性来解析路径信息,例如 drive、root、name、stem 和 suffix 等,帮助用户快速获取路径的各个组成部分。


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的所有用法,建议重点掌握其基本组件,遇到具体需求时查阅官方文档即可。

参考: https://miguendes.me/python-pathlib https://docs.python.org/3/library/pathlib.html https://www.cnblogs.com/poloyy/p/12435628.html

以上就是Python标准库pathlib操作目录和文件的详细内容,更多关于pathlib库操作目录和文件的资料请关注本站其它相关文章!

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。