⚡ 编程实验室🏗️ HTML🎨 CSS⚡ JavaScript🐍 Python🗄️ SQL☕ Java⚛️ React💚 Vue🟢 Node.js⚙️ C语言🐘 PHP🐹 Go🔷 TypeScript🐬 MySQL🔧 C++🎯 C#🦀 Rust🅱️ Bootstrap💡 jQuery🎸 Django🍃 MongoDB👗 Sass🎪 Kotlin📊 R语言📋 XML📊 Excel🐘 PostgreSQL🐳 Docker🅰️ Angular🎮 游戏🏠 网站首页

Python pathlib 路径操作

学习pathlib · 难度:入门 · +10XP

Python pathlib 路径操作

在 Python 中,文件和目录路径的处理是日常编程中最常见的任务之一。pathlib 模块是 Python 3.4 引入的现代路径处理库,它提供了一种面向对象的方式来操作文件系统路径,替代了传统的 os.path 模块。

为什么要使用 pathlib?

与传统的 os.path 相比,pathlib 具有以下优势:

  1. 面向对象设计,代码更加直观易读
  2. 路径对象可以直接使用 / 运算符拼接
  3. 跨平台兼容,自动处理 Windows 和 Linux 的路径分隔符差异
  4. 集成了文件读写、目录遍历等常用操作

Path 对象的创建

使用 Path 类创建路径对象十分简单:

from pathlib import Path

# 创建路径对象 p = Path('/usr/local/bin') print(p) # /usr/local/bin

# 使用 / 运算符拼接路径 new_path = p / 'python3' print(new_path) # /usr/local/bin/python3

# 获取当前工作目录 cwd = Path.cwd() print(cwd)

# 获取用户主目录 home = Path.home() print(home)

路径属性

Path 对象提供了丰富的属性来获取路径的各个部分:

from pathlib import Path

p = Path('/home/user/docs/report.pdf')

print(p.name) # report.pdf (文件名) print(p.stem) # report (不带后缀的文件名) print(p.suffix) # .pdf (文件后缀) print(p.parent) # /home/user/docs (父目录) print(p.parts) # ('/', 'home', 'user', 'docs', 'report.pdf') print(p.anchor) # / (根目录)

常用操作方法

from pathlib import Path

p = Path('example.txt')

# 检查路径是否存在 if p.exists(): print('文件存在')

# 检查是否为文件或目录 p.is_file() p.is_dir()

# 创建目录 Path('new_folder').mkdir(exist_ok=True)

# 创建多级目录 Path('a/b/c').mkdir(parents=True, exist_ok=True)

# 文件读写 content = Path('data.txt').read_text(encoding='utf-8') Path('output.txt').write_text('Hello World', encoding='utf-8')

# 遍历目录 for file in Path('.').glob('*.py'): print(file)

# 递归遍历 for file in Path('.').rglob('*.py'): print(file)

路径操作对比表

操作os.path (旧方法)pathlib (新方法)
路径拼接os.path.join(a, b)Path(a) / b
获取文件名os.path.basename(p)Path(p).name
获取父目录os.path.dirname(p)Path(p).parent
获取后缀os.path.splitext(p)[1]Path(p).suffix
检查是否存在os.path.exists(p)Path(p).exists()
Ctrl+Enter
🚀 升级VIP
解锁全部课程+AI助手

🏆 学习排行

加载中...

📊 统计

📖 152 篇
0 完成
🔥 0