pathlib 简介
#python##python自学#

pathlib 是 Python 中的标准库,用于提供一种统一的、面向对象的方式操作文件系统路径。它是在 Python 3.4 中引入的,与以前的 os.path 模块不同,它具有更好的可读性和更方便的 API。
使用 pathlib,可以在文件系统中操作路径,如创建、删除、重命名文件和目录;读取和写入文件;判断文件是否存在;获取文件属性等。
pathlib 基本用法
下面是一些常见的使用 pathlib 的示例:
from pathlib import Path
# 创建路径对象
# 这里创建了一个表示 /tmp/test.txt 的路径对象
p = Path("/tmp/test.txt")
# 判断文件/目录是否存在
# 可以使用 exists 方法判断文件/目录是否存在
if p.exists():
print("文件/目录存在")
else:
print("文件/目录不存在")
# 获取文件/目录的绝对路径
# 使用 resolve 方法可以获取文件/目录的绝对路径
print(p.resolve())
# 获取文件所在目录
# 使用 parent 属性可以获取文件所在目录
print(p.parent)
# 读取文件内容
# 使用 open 方法打开文件并读取内容
with p.open() as f:
content = f.read()
print(content)
# 创建目录
# 使用 mkdir 方法创建目录,可以使用 parents 参数表示如果上级目录不存在是否创建
d = Path("/tmp/test_dir")
d.mkdir(parents=True)
# 重命名文件/目录
# 使用 rename 方法可以重命名文件/目录
p.rename("/tmp/new_name.txt")
# 删除文件/目录
# 使用 unlink 方法删除文件,使用 rmdir 方法删除目录
p.unlink()
pathlib 高级用法
下面是一些 pathlib 的高级用法示例:
from pathlib import Path
# 遍历目录下的所有文件
# 使用 glob 方法可以遍历目录下的所有文件,可以使用通配符进行筛选
# 如下遍历 /tmp 目录下所有 .txt 文件
p = Path("/tmp")
for f in p.glob("*.txt"):
print(f)
# 读取文件夹中所有子文件/文件夹
# 使用 iterdir 方法可以读取文件夹中所有子文件/文件夹
for child in p.iterdir():
print(child)
# 判断是否是目录/文件
# 使用 is_dir 判断是否是目录,使用 is_file 判断是否是文件
if p.is_dir():
print("这是一个目录")
if p.is_file():
print("这是一个文件")
# 判断是否是绝对路径/相对路径
# 使用 is_absolute 判断是否是绝对路径,使用 is_relative 判断是否是相对路径
if p.is_absolute():
print("这是一个绝对路径")
if p.is_relative():
print("这是一个相对路径")
# 获取文件大小
# 使用 stat 方法可以获取文件的大小
print(p.stat().st_size)
# 支持操作系统的文件路径分割符
# 使用 / 运算符可以将路径拼接起来,路径拼接符自动根据操作系统类型使用对应的分割符
p1 = Path("/tmp")
p2 = Path("test.txt")
p = p1 / p2
print(p)
这只是 "pathlib" 库的一部分功能,更多的功能请参考 Python 官方文档。