Python pathlib 库常用路径操作方法详解

Elena
Elena
发布时间:2026-10-11| 2人浏览过
原创

本文深入解析 Python 标准库 pathlib 的核心功能,涵盖路径提取、属性判断及文件遍历等常用操作。通过具体代码示例,展示如何高效处理文件路径,提升代码的可读性与跨平台兼容性。

一、Path 模块概述

Python 的 pathlib 模块提供了用于表示文件系统路径的类,其语义设计兼容不同的操作系统。路径类主要分为纯路径(Pure Paths)和具体路径(Concrete Paths)两类:

  • 纯路径:仅提供纯粹的计算操作,不涉及任何 I/O 交互。例如,可以在 Unix 系统上实例化 PureWindowsPath 以处理 Windows 风格的路径。
  • 具体路径:继承自纯路径,提供了实际的 I/O 操作能力,可直接与操作系统交互。

二、核心操作方法与示例

掌握以下常用方法,可以极大地简化文件路径的处理流程:

1. 路径属性提取

  • .name:提取文件名。
  • .parent:获取父目录路径。
  • .suffix:提取文件后缀(包含点号)。
  • .stem:提取不含后缀的文件名。
  • .with_suffix(suffix):更改文件后缀并返回新路径。
from pathlib import Path

# 提取文件名
path_str = Path(r"/usr/HinGwenWoong/demo.py")
print(path_str.name)

# 获取父目录路径
print(path_str.parent)

# 提取文件后缀
print(path_str.suffix)

# 提取无后缀的文件名
print(path_str.stem)

# 更改文件后缀
new_path = path_str.with_suffix(".json")
print(new_path)

2. 路径遍历与组合

  • .iterdir():遍历目录下的所有文件/子目录。
  • .joinpath(*paths):组合多个路径片段。
from pathlib import Path

# 遍历目录
path_str = Path(r"/usr/HinGwenWoong/logs")
for path in path_str.iterdir():
    print(path)

# 组合路径
base_path = Path(r"/usr/HinGwenWoong/")
full_path = base_path.joinpath("demo.py")
print(full_path)

3. 路径属性判断

  • .is_absolute():判断是否为绝对路径。
  • .is_dir():判断路径是否指向目录。
  • .is_file():判断路径是否指向文件。
  • .exists():判断路径是否存在。
from pathlib import Path

path_str = Path(r"/usr/HinGwenWoong/")
print(path_str.is_absolute())  # 判断是否为绝对路径
print(path_str.is_dir())       # 判断是否为目录
print(path_str.is_file())      # 判断是否为文件
print(path_str.exists())       # 判断路径是否存在

4. 文件查找

使用 .glob(pattern) 方法可以根据通配符模式查找匹配的文件:

from pathlib import Path

path_str = Path(r"/user/HinGwenWoong/scripts")
# 查找所有 .py 文件
py_files = path_str.glob('*.py')
print(list(py_files))

以上就是 Python pathlib 库常用路径操作方法详解的详细内容,更多关于 Python 文件处理技巧的资料请关注本站其它相关文章!

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

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 算法库。