在 Python 中,创建文件夹可以使用以下 os 模块 的 2 个函数来实现。
- os.mkdir() 函数。
- os.makedirs() 函数。
提示: 大部分情况下,“文件夹” 也叫做 “目录”,小伙伴们要清楚两者指的是同一个意思。
使用 os.mkdir() 创建文件夹
在 Python 中,我们可以使用 os 模块的 mkdir() 函数来创建文件夹。
语法:
os.mkdir(path)说明:
参数 path 是文件夹的完整路径(包含文件名),它可以是相对路径,也可以是绝对路径。更多关于路径的信息,请查看:Python 文件路径。
对于 os.mkdir(),小伙伴们要清楚以下 2 点。
- 如果指定 path 已存在(即文件夹已存在),那么 os.mkdir() 会引发 FileExistsError 异常。
- 如果指定 path 缺少中间级目录,os.mkdir() 并不会创建这些中间级目录,而是直接报错提示 “系统找不到指定的路径”。
示例 1:os.mkdir() 创建文件夹
import os
# 指定要创建的文件夹路径
folder_path = r'D:\newfolder'
try:
os.mkdir(folder_path)
print('创建成功!')
except FileExistsError:
print('该文件夹已存在!')
except Exception as e:
print('发生错误:', str(e))分析:
上面程序运行之后,可以在 D 盘目录下多了一个名为 “newfolder” 的文件夹。
使用 os.mkdir() 函数创建文件夹时,如果文件夹已存在,则会抛出 FileExistsError 异常。我们可以使用 try except 语句来处理异常。
如果把文件夹路径修改如下,其中 “lvye” 这个中间级目录是不存在的。
folder_path = r'D:\lvye\newfolder'再次运行后会直接报错,如下所示。
[WinError 3] 系统找不到指定的路径 : 'D:\\lvye\\newfolder'使用 os.makedirs() 创建文件夹
在 Python 中,我们还可以使用 os 模块的 makedirs() 函数来创建文件夹。
语法:
os.makedirs(path)说明:
参数 path 是文件夹的完整路径(包含文件名),它可以是相对路径,也可以是绝对路径。对于 os.makedirs(),小伙伴们要清楚以下 2 点。
- 如果指定 path 已存在(即文件夹已存在),那么 os.makedirs() 同样会引发 FileExistsError 异常。
- 如果指定 path 缺少中间级目录,os.makedirs() 会自动创建这些中间级目录。
注意: os.mkdir() 和 os.makedirs() 这 2 个函数的语法几乎是一样的,它们之间的区别在于:如果中间目录不存在,os.mkdir() 会直接报错,而 os.makedirs() 会递归创建。
示例 2:os.makedirs() 创建文件夹
import os
# 指定要创建的文件夹路径
folder_path = r'D:\newfolder'
try:
os.makedirs(folder_path)
print('创建成功!')
except FileExistsError:
print('该文件夹已存在!')
except Exception as e:
print('发生错误:', str(e))分析:
上面程序运行之后,可以在 D 盘目录下多了一个名为 “newfolder” 的文件夹。
这里为了防止 “文件夹已存在” 导致报错,我们写了一长串的 try...except 语句。其实,os.makedirs() 提供了一个极其强大的隐藏参数:exist_ok。
当我们设置 exist_ok=True 时,如果文件夹不存在,它会自动创建;如果文件夹已经存在,它也不会报错,而是当作无事发生自动跳过!
# 推荐写法
import os
folder_path = r'D:\newfolder'
# 只要加上 exist_ok=True,再也不用担心文件夹已存在会报错了!
os.makedirs(folder_path, exist_ok=True)
print('执行完毕!')