Python pathlib 的使用方法
pathlib.Path
pathlib.Path
是 Python 标准库中的一个类,用于表示和操作文件系统路径。它提供了一种面向对象的方式来处理文件路径,并且可以在不同操作系统之间保持一致的行为。
下面是 pathlib.Path
类的一些常用方法和属性的简要说明及其示例。我们将这些信息整理成一个表格,方便查阅。
方法/属性 | 说明 | 示例代码 |
---|---|---|
Path | 创建一个新的路径对象 | p = Path('/path/to/file') |
exists() | 检查路径是否存在 | p.exists() |
is_file() | 检查路径是否是文件 | p.is_file() |
is_dir() | 检查路径是否是目录 | p.is_dir() |
mkdir() | 创建目录 | p.mkdir(parents=True, exist_ok=True) |
rmdir() | 删除目录 | p.rmdir() |
unlink() | 删除文件 | p.unlink() |
iterdir() | 迭代目录中的条目 | for entry in p.iterdir(): print(entry) |
rename() | 重命名或移动路径 | p.rename('/new/path/to/file') |
with_name() | 返回一个新路径对象,替换文件名 | p.with_name('newfile.txt') |
with_suffix() | 返回一个新路径对象,替换文件扩展名 | p.with_suffix('.md') |
joinpath() | 拼接路径 | p.joinpath('subdir', 'file.txt') |
read_text() | 读取文件内容为文本 | content = p.read_text() |
write_text() | 将文本写入文件 | p.write_text('Hello, world!') |
read_bytes() | 读取文件内容为字节 | data = p.read_bytes() |
write_bytes() | 将字节写入文件 | p.write_bytes(b'Hello, world!') |
glob() | 匹配通配符模式的路径 | for txt_file in p.glob('*.txt'): print(txt_file) |
rglob() | 递归匹配通配符模式的路径 | for txt_file in p.rglob('*.txt'): print(txt_file) |
parent | 返回父目录路径 | p.parent |
name | 返回路径的最后一个组成部分(文件名) | p.name |
stem | 返回路径的文件名,不包括扩展名 | p.stem |
suffix | 返回路径的文件扩展名 | p.suffix |
parts | 返回路径的各部分组成的元组 | p.parts |
absolute() | 返回绝对路径 | p.absolute() |
resolve() | 返回规范路径,消除任何符号链接 | p.resolve() |
示例代码
以下是一些使用 pathlib.Path
的示例代码:
python
from pathlib import Path
# 创建路径对象
p = Path('/path/to/file.txt')
# 检查路径是否存在
print(p.exists())
# 检查路径是否是文件
print(p.is_file())
# 创建目录
dir_path = Path('/path/to/directory')
dir_path.mkdir(parents=True, exist_ok=True)
# 读取文件内容
if p.exists() and p.is_file():
content = p.read_text()
print(content)
# 写入文件内容
p.write_text('Hello, world!')
# 删除文件
p.unlink()
# 迭代目录中的条目
for entry in dir_path.iterdir():
print(entry)
# 匹配通配符模式的路径
for txt_file in dir_path.glob('*.txt'):
print(txt_file)
# 获取文件名和扩展名
print(p.name) # file.txt
print(p.stem) # file
print(p.suffix) # .txt
# 获取绝对路径
print(p.absolute())
# 获取父目录路径
print(p.parent)
这些示例展示了如何使用 pathlib.Path
来处理文件和目录路径。该类提供了强大的功能和简洁的语法,是处理文件系统路径的推荐方式。