Python中的pathlib库使用详解

  • Post category:Python

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”结尾的文件名。