Skip to content

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 来处理文件和目录路径。该类提供了强大的功能和简洁的语法,是处理文件系统路径的推荐方式。

Released under the MIT License.