Python标准库pathlib操作目录和文件
pathlib
是Python 3.4及以上版本提供的标准库之一,用于操作文件系统路径。该库可以方便地进行路径的拼接、文件/目录的创建、复制/移动、删除等操作。下面是对该库的详细介绍和示例说明。
pathlib.Path类常用方法
pathlib
提供了Path
类,该类可用于创建一个路径对象,它包含了常用的目录和文件操作方法。
- 创建路径对象
可以使用不同的方式创建Path
对象:
from pathlib import Path
# 使用绝对路径创建Path对象
p = Path('/path/to/file')
# 使用相对路径创建Path对象
p = Path('path/to/file')
# 使用环境变量创建Path对象
p = Path('$HOME/path/to/file')
# 创建当前工作目录的路径对象
p = Path.cwd()
# 创建当前文件所在目录的路径对象
p = Path(__file__).resolve().parent
- 路径拼接
为避免路径分隔符不同的问题,建议使用Path
提供的方法进行路径拼接:
p = Path('/path/to') / 'file'
p = Path('/path/to').joinpath('file')
- 解析路径
可以使用Path
的属性获取路径的各个部分:
p = Path('/path/to/file')
print(p) # /path/to/file
print(p.root) # /
print(p.drive) # ''
print(p.parent) # /path/to
print(p.name) # file
print(p.suffix) # ''
print(p.suffixes) # []
print(p.stem) # file
- 判断路径属性
可以使用Path
的方法判断路径是否存在、是否是文件、是否是目录等:
p = Path('/path/to/file')
print(p.exists()) # True
print(p.is_file()) # True
print(p.is_dir()) # False
- 文件/目录操作
可以使用Path
的方法创建、复制、重名名、移动、删除文件或目录:
p = Path('/path/to/file')
# 创建一个空文件
p.touch()
# 复制文件
p2 = p.with_name('file2')
p2.write_text(p.read_text())
# 重命名文件
p.rename(p.with_name('new_file'))
# 移动文件
p2.rename(p.with_name('file2'))
# 删除文件
p.unlink()
# 创建目录
p.mkdir()
# 复制目录
p2 = p.with_name('dir2')
shutil.copytree(p, p2)
# 移动目录
p2.rename(p.with_name('dir2'))
# 删除目录
shutil.rmtree(p)
示例说明
下面是两个使用pathlib
库的示例。
示例1:在指定目录下创建多个文件夹
from pathlib import Path
path = Path('/path/to/dir')
for i in range(10):
subdir = path / f'subdir_{i}'
subdir.mkdir()
上面的代码会在/path/to/dir
目录下创建10个子目录。
示例2:批量重命名特定类型文件
from pathlib import Path
path = Path('/path/to/dir')
for f in path.glob('*.png'):
f.rename(f.with_name(f.stem + '.jpg'))
上面的代码会在/path/to/dir
目录下查找所有.png
文件,然后将它们的文件名后缀改为.jpg
。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python标准库pathlib操作目录和文件 - Python技术站