Python中的pathlib库使用详解
Python的pathlib库提供了一个面向对象的API来处理文件系统路径和操作文件系统。这个库存在于Python 3.4及以上版本中,可以方便地进行文件路径的操作,并且避免了很多文件路径字符串的陷阱问题。下面将详细讲解pathlib库的使用方法。
安装pathlib库
在Python 3.4及以上版本中,pathlib库已经内置,可以直接使用。如果你使用的是Python 2.x版本,需要通过以下方式安装pathlib库:
pip install pathlib
文件路径的创建和操作
1. 创建文件路径对象
使用pathlib库创建文件路径对象非常容易。下面是一个例子:
from pathlib import Path
# 创建文件路径对象
path = Path('data/sample.txt')
# 打印文件路径
print(path)
结果为:
data/sample.txt
2. 判断路径是否存在
使用exists()方法可以判断文件路径是否存在。
# 判断文件路径是否存在
print(path.exists())
如果文件存在,返回True,否则返回False。
3. 创建文件夹路径
创建文件夹路径的方式如下所示:
# 创建文件夹路径
path = Path('data')
# 判断文件夹路径是否存在
print(path.exists())
这将会向操作系统请求创建一个名为“data”的文件夹路径,如果文件夹不存在,则创建成功;如果存在,则返回False。
4. 判断是文件还是文件夹
使用is_file()和is_dir()方法可以分别判断路径是否是文件和文件夹。
# 判断是否是文件
print(Path('data/sample.txt').is_file())
# 判断是否是文件夹
print(Path('data').is_dir())
5. 获取文件名
使用name属性可以获取文件名。
# 获取文件名
print(Path('data/sample.txt').name)
结果为:
sample.txt
6. 获取文件所在路径
使用parent属性可以获取文件所在路径。
# 获取文件的上级目录
print(Path('data/sample.txt').parent)
结果为:
data
7. 获取文件所在驱动器
使用drive属性可以获取文件所在驱动器的名称。
# 获取文件的驱动器
print(Path('C:/data/sample.txt').drive)
结果为:
C:
示例
示例一:操作文件
下面这个例子演示了如何创建一个文件路径对象并写入文件:
# 创建文件路径对象
path = Path('data/sample.txt')
# 打开文件,并写入一段文字
with path.open('w') as f:
f.write('Hello, World!')
# 读取文件内容
with path.open() as f:
print(f.read())
示例二:批量重命名文件
下面这个例子演示了如何使用pathlib库批量重命名文件:
path = Path('data')
# 遍历文件夹路径下所有文件
for file_path in path.iterdir():
# 如果是文件路径,并且文件名以“.jpg”结尾
if file_path.is_file() and file_path.name.endswith('.jpg'):
# 构造新的文件名
new_name = file_path.parent / (file_path.stem + '_new.jpg')
# 重命名文件
file_path.rename(new_name)
这个例子会遍历文件夹路径下所有文件,如果是以“.jpg”结尾的文件,则把文件重命名为“_new”结尾的文件名。