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模块,从而更高效地处理文件路径和目录。
极客教程