导入 Path 类
from pathlib import Path
创建 Path 对象
# 当前工作目录
p = Path('.')
print(p)
# 绝对路径
p = Path('/usr/local/bin')
print(p)
# 相对路径
p = Path('my/relative/path')
print(p)
# 用户主目录
p = Path('~').expanduser()
print(p)
# 当前脚本所在目录
p = Path(__file__).parent
print(p)
路径拼接
# 使用 / 运算符拼接路径
p = Path('/usr/local') / 'bin' / 'python'
print(p)
路径解析和属性
p = Path('/usr/local/bin/python')
# 获取父目录
print(p.parent) # 输出:/usr/local/bin
# 获取文件名
print(p.name) # 输出:python
# 获取不带后缀的文件名
print(p.stem) # 输出:python
# 获取文件后缀
print(p.suffix) # 输出:(空字符串,因为python文件没有后缀)
# 获取所有父目录
print(list(p.parents)) # 输出:[PosixPath('/usr/local/bin'), PosixPath('/usr/local'), PosixPath('/')]
# 检查是否是绝对路径
print(p.is_absolute()) # 输出:True
文件和目录操作
p = Path('example.txt')
# 写入文件
p.write_text('Hello, World!')
# 读取文件
print(p.read_text()) # 输出:Hello, World!
# 检查文件或目录是否存在
print(p.exists()) # 输出:True
# 检查是否是文件
print(p.is_file()) # 输出:True
# 检查是否是目录
print(p.is_dir()) # 输出:False
# 创建目录
Path('my/new/directory').mkdir(parents=True, exist_ok=True)
# 删除文件
p.unlink()
遍历目录
# 遍历当前目录下的所有文件和目录
for child in Path('.').iterdir():
print(child)
# 使用 glob 模式匹配文件
for py_file in Path('.').glob('*.py'):
print(py_file)
总结
通过上述示例,可以看到 pathlib
库的 Path
类提供了丰富的路径操作功能,使得文件系统操作更加直观和方便。无论是路径拼接、属性访问、文件读写还是目录遍历,Path
类都提供了简洁且强大的方法来处理这些任务。