Pathlib

发布于:2024-06-14 ⋅ 阅读:(156) ⋅ 点赞:(0)

Pathlib 是 Python 标准库中的一个模块,用于处理文件和目录路径。与 os 模块相比,pathlib 提供了一个面向对象的路径操作方法,使路径操作更加直观和简洁。以下是 pathlib 模块的详细教程,包括架构概述、基础功能、进阶功能和高级教程,并附带详细的代码示例和注释。

官方文档链接

Pathlib 官方文档

Pathlib 模块架构概述

Pathlib 提供了几个主要的类:

  • Path: 通用路径类,适用于大多数文件系统操作。
  • PosixPath: 继承自 Path,专门用于 Unix/Linux 操作系统。
  • WindowsPath: 继承自 Path,专门用于 Windows 操作系统。

这些类提供了丰富的路径操作方法,包括路径解析、文件和目录操作等。

基础功能

1. 创建路径对象
from pathlib import Path

# 创建当前目录的 Path 对象
current_dir = Path('.')
print(current_dir.resolve())  # 输出当前目录的绝对路径
2. 解析路径
# 解析相对路径
relative_path = Path('some_directory/some_file.txt')
print(relative_path.resolve())  # 输出解析后的绝对路径
3. 检查路径属性
file_path = Path('some_directory/some_file.txt')

# 检查路径是否存在
print(file_path.exists())

# 检查是否为文件
print(file_path.is_file())

# 检查是否为目录
print(file_path.is_dir())
4. 遍历目录
# 遍历目录中的所有文件和子目录
for item in current_dir.iterdir():
    print(item)

进阶功能

1. 创建文件和目录
# 创建新目录
new_dir = Path('new_directory')
new_dir.mkdir(exist_ok=True)  # exist_ok=True 表示如果目录已存在,不会抛出异常

# 创建新文件
new_file = new_dir / 'new_file.txt'
new_file.touch()  # 创建一个空文件
2. 读取和写入文件
# 写入文件
new_file.write_text('Hello, pathlib!')

# 读取文件内容
content = new_file.read_text()
print(content)
3. 路径拼接
# 拼接路径
subdir = new_dir / 'sub_directory'
subdir.mkdir(exist_ok=True)
print(subdir)

# 拼接文件路径
sub_file = subdir / 'sub_file.txt'
print(sub_file)

高级教程

1. 文件和目录操作
# 复制文件
import shutil

source = new_file
destination = new_dir / 'copied_file.txt'
shutil.copy(source, destination)

# 移动文件
moved_file = new_dir / 'moved_file.txt'
source.rename(moved_file)

# 删除文件
moved_file.unlink()

# 删除目录
subdir.rmdir()  # 仅删除空目录
2. 递归遍历目录
# 递归遍历目录及其子目录
for item in new_dir.rglob('*'):
    print(item)
3. 使用 Path 对象与字符串互转
# Path 对象转换为字符串
path_str = str(new_file)
print(path_str)

# 字符串转换为 Path 对象
path_obj = Path(path_str)
print(path_obj)

总结

Pathlib 提供了一个强大且直观的方式来处理文件和目录路径。通过本教程,您可以掌握从基础到高级的 pathlib 使用方法,快速上手并提高文件系统操作的效率。


网站公告

今日签到

点亮在社区的每一天
去签到