Python Python pathlib 如果目录不存在,则创建目录

Python Python pathlib 如果目录不存在,则创建目录

在本文中,我们将介绍Python的pathlib模块,该模块用于处理文件路径和目录。我们将重点关注如何使用pathlib创建目录,如果目录不存在的话。

阅读更多:Python 教程

pathlib模块简介

pathlib是Python标准库中的一个模块,用于处理文件路径和目录。它提供了一种面向对象的方式来操作文件系统,相对于传统的字符串操作,使用pathlib可以使代码更加简洁、可读性更强,并且具有跨平台的特性。

pathlib模块提供了Path类来表示文件路径和目录。Path类的实例可以用于获取、检查和操作文件和目录的属性,以及执行各种文件操作。在本文中,我们将重点关注如何使用pathlib创建目录。

使用pathlib创建目录

要使用pathlib创建目录,首先需要导入pathlib模块,并创建一个Path对象,然后使用mkdir()方法来创建目录。如果目录已经存在,mkdir()方法将会引发一个FileExistsError异常。为了避免这种异常,我们可以使用exist_ok参数来控制是否忽略目录已存在的情况。如果exist_ok参数为True(默认为False),则目录已存在时不会引发异常。

下面是一个示例代码,演示如何使用pathlib创建目录:

from pathlib import Path

# 创建目录
path = Path('my_directory')
path.mkdir(exist_ok=True)

上述代码中,我们首先创建了一个名为’my_directory’的目录,然后使用mkdir()方法创建了该目录。由于exist_ok参数为True,即使’my_directory’目录已经存在,也不会引发异常。

另外,我们还可以使用mkdir(parents=True)来同时创建多层嵌套的目录。如果父级目录不存在,那么也会被创建。下面是一个示例代码:

from pathlib import Path

# 创建多层嵌套的目录
path = Path('my_directory/sub_directory')
path.mkdir(parents=True, exist_ok=True)

上述代码中,我们创建了一个以’my_directory’为父级目录的’sub_directory’,由于我们指定了parents=True,如果’my_directory’目录不存在,将会一并创建。

检查目录是否存在

在使用pathlib创建目录之前,有时候我们需要先检查目录是否存在。Path类提供了exists()方法来判断路径是否存在。如果路径存在,则返回True,否则返回False。

下面是一个示例代码,演示如何检查目录是否存在:

from pathlib import Path

# 检查目录是否存在
path = Path('my_directory')
if path.exists():
    print('目录已存在')
else:
    print('目录不存在')

上述代码中,首先创建了一个名为’my_directory’的路径,然后使用exists()方法判断该路径是否存在,如果路径存在,则输出“目录已存在”,否则输出“目录不存在”。

使用exists()方法结合if语句,可以在创建目录之前先检查目录是否存在,从而避免引发FileExistsError异常或重复创建目录。

示例说明

为了更好地理解如何使用pathlib创建目录和检查目录是否存在,我们来看一个完整的示例。

from pathlib import Path

def create_directory(directory):
    # 创建目录
    path = Path(directory)
    path.mkdir(exist_ok=True)
    print(f'已成功创建目录:{directory}')

def check_directory(directory):
    # 检查目录是否存在
    path = Path(directory)
    if path.exists():
        print(f'目录已存在:{directory}')
    else:
        print(f'目录不存在:{directory}')

def main():
    directory = "my_directory"
    check_directory(directory)
    create_directory(directory)
    check_directory(directory)

if __name__ == "__main__":
    main()

上述示例代码中,我们定义了三个函数:create_directory()用于创建目录,check_directory()用于检查目录是否存在,main()为主函数,用于执行示例代码。

在main()函数中,我们首先调用check_directory()函数检查’my_directory’目录是否存在,然后调用create_directory()函数创建该目录,最后再次调用check_directory()函数确认目录是否成功创建。

执行上述示例代码后,输出结果如下:

目录不存在:my_directory
已成功创建目录:my_directory
目录已存在:my_directory

从输出结果可以看出,先检查目录是否存在时输出“目录不存在”,然后成功创建目录,再次检查目录时输出“目录已存在”,证明目录创建成功。

总结

本文介绍了Python的pathlib模块以及如何使用pathlib创建目录。我们学习了使用Path类的mkdir()方法来创建目录,以及使用exist_ok参数来控制是否忽略目录已存在的情况。我们还学习了使用exists()方法来检查目录是否存在,并结合if语句来避免不必要的异常和重复创建目录。

使用pathlib创建目录可以让我们的代码更加简洁、易读,并且具有跨平台的特性。希望本文能帮助你更好地理解和使用pathlib模块,从而更高效地处理文件路径和目录。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程