python文件系统路径处理pathlib库用法
pathlib 是 Python 的标准库之一,提供了一种面向对象的方法来处理文件系统路径。它的设计旨在简化路径操作,使代码更清晰易懂。以下是 pathlib 的主要用法和功能详解,包括常见方法和属性。
1. 导入 pathlib
首先,您需要导入 pathlib:
from pathlib import Path
2. 创建路径对象
Path 对象可以通过多种方式创建:
# 从字符串创建路径
p1 = Path('example.txt')
# 使用绝对路径
p2 = Path('/home/user/example.txt')
# 使用相对路径
p3 = Path('..') # 上级目录
3. 常用方法和属性
3.1 路径操作
- 拼接路径:
p = Path('folder') / 'subfolder' / 'file.txt'
- 获取父目录:
parent = p.parent # 返回父目录对象
- 获取文件名和后缀:
filename = p.name # 返回文件名 'file.txt'
suffix = p.suffix # 返回后缀 '.txt'
stem = p.stem # 返回不带后缀的文件名 'file'
3.2 检查路径
- 检查路径是否存在:
exists = p.exists() # 文件或目录是否存在
is_file = p.is_file() # 是否为文件
is_dir = p.is_dir() # 是否为目录
- 检查路径是否是符号链接:
is_symlink = p.is_symlink()
3.3 文件和目录操作
- 创建目录:
new_dir = Path('new_folder')
new_dir.mkdir(exist_ok=True) # 如果目录已存在,则不抛出异常
- 删除文件:
if p.is_file():
p.unlink() # 删除文件
- 遍历目录:
for child in new_dir.iterdir(): # 遍历目录下的所有文件和子目录
print(child)
- 获取目录中文件的列表:
files = list(new_dir.glob('*.txt')) # 获取所有 .txt 文件
3.4 文件读取和写入
- 读取文件内容:
content = p.read_text() # 读取文本文件内容
- 写入内容到文件:
p.write_text("Hello, World!") # 写入字符串到文件
3.5 查询文件属性
- 获取文件大小:
size = p.stat().st_size # 文件大小(字节)
- 获取创建时间:
import time
creation_time = time.ctime(p.stat().st_ctime) # 获取文件创建时间
- 获取修改时间:
modification_time = time.ctime(p.stat().st_mtime) # 获取文件最后修改时间
3.6 其他常用功能
- 路径的解析:
absolute_path = p.resolve() # 获取绝对路径
- 检查路径是否符合某种模式:
matches = new_dir.glob('*.txt') # 获取所有匹配的文件
for match in matches:
print(match)
4. 示例代码
以下是一个综合示例,展示了如何使用 pathlib 进行文件和目录操作:
from pathlib import Path
# 创建一个新目录
new_folder = Path('new_folder')
new_folder.mkdir(exist_ok=True)
# 创建一个新文件并写入内容
file_path = new_folder / 'example.txt'
file_path.write_text("Hello, pathlib!")
# 读取文件内容
content = file_path.read_text()
print(f"文件内容: {content}")
# 遍历目录中的所有文本文件
print("目录中的 .txt 文件:")
for txt_file in new_folder.glob('*.txt'):
print(txt_file.name)
# 删除文件
if file_path.is_file():
file_path.unlink()
print(f"{file_path.name} 已被删除。")

浙公网安备 33010602011771号