pathlib
是 Python 3.4+ 引入的一个新标准库,它提供了一种面向对象的方式来处理文件系统路径。相比于传统的 os
和 os.path
模块,pathlib
提供了更简洁、更直观的语法。以下是 pathlib
在 Python 中的一些实际应用场景:
使用 pathlib
,你可以非常容易地进行路径操作,如连接、解析、获取父目录等。
from pathlib import Path
# 创建一个 Path 对象
p = Path('path/to/file.txt')
# 获取父目录
parent = p.parent
print(parent) # 输出: path/to
# 连接路径
new_path = p.with_name('new_file.txt')
print(new_path) # 输出: path/to/new_file.txt
# 获取文件扩展名
extension = p.suffix
print(extension) # 输出: .txt
pathlib
提供了一些方法来创建和删除文件和目录。
from pathlib import Path
# 创建一个新目录
new_dir = Path('new_directory')
new_dir.mkdir()
# 创建一个新文件
new_file = new_dir / 'file.txt'
new_file.touch()
# 删除目录(如果为空)
new_dir.rmdir()
# 删除文件
new_file.unlink()
pathlib
也简化了文件内容的读写操作。
from pathlib import Path
# 写入文件
file = Path('example.txt')
file.write_text('Hello, world!')
# 读取文件
content = file.read_text()
print(content) # 输出: Hello, world!
使用 pathlib
,你可以轻松地遍历目录并对其内容进行操作。
from pathlib import Path
# 遍历当前目录下的所有文件
for file in Path('.').iterdir():
if file.is_file():
print(file.name)
# 递归遍历目录
for file in Path('.').rglob('*'):
if file.is_file():
print(file.relative_to('.').as_posix())
pathlib
还提供了查询文件信息的方法,如大小、修改时间等。
from pathlib import Path
file = Path('example.txt')
# 获取文件大小
size = file.stat().st_size
print(size) # 输出: 文件大小(字节)
# 获取文件最后修改时间
mtime = file.stat().st_mtime
print(mtime) # 输出: 文件最后修改时间(Unix 时间戳)
总之,pathlib
提供了一种更现代、更直观的方式来处理文件系统路径和文件操作,使得代码更加简洁和易于理解。