宝塔服务器面板,一键全能部署及管理,送你10850元礼包,点我领取

Python中的Path模块是标准库中的一个模块,它提供了一种跨平台处理文件路径的简便方式。Path模块内置于Python 3.4及更高版本中,并可在Python 2上通过第三方库安装使用。通过阅读本文,您将完全了解Path模块的使用和方法。

一、 Path对象的创建和使用

要使用Path模块,我们需要首先导入它并创建一个Path对象。我们可以通过传递一个文件路径或目录路径的字符串来创建一个Path对象。如果路径是相对路径,那么将使用当前工作目录作为相对路径的起点。


from pathlib import Path

# 创建一个Path对象
p = Path('path/to/your/file')

现在,我们可以使用Path对象的各种方法来操作文件或目录。例如,我们可以使用“exists”方法检查文件或目录是否存在。


# 创建一个Path对象并检查文件或目录是否存在
p = Path('path/to/your/file')
if p.exists():
    print('文件或目录存在')
else:
    print('文件或目录不存在')

可以使用”.resolve()”方法将相对路径转换为绝对路径。


# 将相对路径转换为绝对路径
p = Path('path/to/your/file')
print(p.resolve())

二、 Path的基本操作

在操作文件或目录时,Path模块提供了以下基本操作:

1、创建文件或目录

使用Path对象的“mkdir()”方法可以创建一个新目录。


# 创建一个新目录
p = Path('path/to/your/new/directory')
p.mkdir()

使用Path对象的“touch()”方法可以创建一个空文件。


# 创建一个新文件
p = Path('path/to/your/new/file')
p.touch()

2、重命名文件或目录

使用Path对象的“rename()”方法可以重命名一个文件或目录。


# 重命名一个文件或目录
p = Path('path/to/your/old/file')
p.rename('path/to/your/new/file')

3、删除文件或目录

使用Path对象的”unlink()”方法可以删除一个文件,使用“rmdir()”方法可以删除一个空目录,使用“rmtree()”方法可以删除一个非空目录。


# 删除一个文件
p = Path('path/to/your/file')
p.unlink()

# 删除一个空目录
p = Path('path/to/your/directory')
p.rmdir()

# 删除一个非空目录
from shutil import rmtree
p = Path('path/to/your/directory')
rmtree(p)

三、Path的高级操作

在操作文件或目录时,Path模块还提供了以下高级操作:

1、查找文件

使用Path对象的”glob()”方法可以查找与指定模式匹配的文件或目录。


# 查找所有扩展名为txt的文件
p = Path('path/to/your/directory')
for f in p.glob('*.txt'):
    print(f)

2、遍历目录树

使用Path对象的“iterdir()”方法可以遍历目录(不包括子目录)中的所有文件和目录。使用“glob()”方法可以遍历目录树。


# 遍历目录中的所有文件和目录
p = Path('path/to/your/directory')
for f in p.iterdir():
    print(f)

# 遍历目录树中的所有txt文件
p = Path('path/to/your/directory')
for f in p.glob('**/*.txt'):
    print(f)

3、获取文件或目录的元数据

使用Path对象的“stat()”方法可以获取文件或目录的元数据,例如大小和修改时间。


# 获取文件或目录的元数据
p = Path('path/to/your/file')
stat_info = p.stat()
print(stat_info.st_size)   # 文件大小(字节)
print(stat_info.st_mtime)  # 修改时间(时间戳)

四、总结

在Python中使用Path模块可以更轻松地操作文件或目录路径。在使用Path模块时,可以创建、删除、重命名、查找、遍历和获取文件或目录的元数据。这些方法的使用可以大大简化文件和目录操作的代码。