Python合集之目录操作(三)

1.判断目录是否存在

在Python中,有时需要判断给定的目录是否存在,这时可以使用os.path模块提供的exists()函数实现。

os.path.exists(path)

其中,path为要判断的目录,可以是绝对路径,也可以采用相对路径。如果给定的路径存在,则返回true,否则返回false。

import os
print(os.path.exists('C:\\demo'))

注:os.path.exists()函数除了可以判断目录是否存在,还可以判断文件是否存在。

2.创建目录

在Python中,os模块提供了两个创建目录的函数,一个用于创建一级目录,另一个用于创建多级目录。

2.1 创建一级目录

创建一级目录是指只能创建一级目录,在Python中,可以使用os模块提供的mkdir()函数实现。通过该函数只能创建指定路径中的最后一级目录,如果该目录的上一级不存在,则抛出FileNotFoundError异常。

os.mkdir(path,mode=0o777)
参数说明:
path:用于指定要创建的目录,可以使用绝对路径,也可以使用相对路径。
mode:用于指定数值模式,默认值为0777,该参数在非UNIX系统上无效或被忽略。
import os
os.mkdir("c:\\demo")

注:如果在创建路径时已经存在,将抛出FileExistsError异常。为了避免在创建目录时,因为存在抛出异常,可以在创建目录前,先判断指定的目录是否存在,只有当目录不存在时才创建。

import os
path="C:\\demo"
if not os.path.exists(path):
    os.mkdir(path)
    print("创建目录成功")
else:
    print("目录已经存在")

注:如果指定的目录有多级,而且最后一级的上级目录中有不存在的,则抛出FileNotFoundError异常,并且目录创建不成功。要解决该问题有两种方法,一种是使用创建多级目录的方法,一种是编写递归函数调用。如下代码:

import os
def mkdir(path):
    if not os.path.isdir(path):
        mkdir(os.path.split(path)[0])
    else:
        return 
    os.mkdir(path)
mkdir("D:\\mr\\test\\demo")

2.2 创建多级目录

使用 mkdir()函数只能创建一级目录,如果想要创建多级目录,可以使用OS模块提供的makedirs()函数,该函数用于采用递归的方式创建目录。

os.makedirs(name,mode=0o777)
参数说明:
name:用于指定要创建的目录,可以使用绝对路径或者相对路径。
mode:用于指定数值模式,默认值为0777,该参数在非UNIX系统上无效或被忽略。
import os
os.makedirs("C:\\demo\\test\\dir\\mr")

花絮:

本期的Python文件目录的处理就分享到这里,下期我们将继续分享Python文件目录的相关知识,感兴趣的朋友可以关注我。

同时也可以关注下我的个人 微信订阅号,园子里面的文章也会第一时间在订阅号里面进行推送跟更新。

posted @ 2021-05-16 00:06  @睦  阅读(87)  评论(0编辑  收藏  举报