在Python中创建目录并处理异常

Python os.mkdir() 方法

内置的“ os”模块可用于创建目录创建目录语法为

    os.mkdir(<path>)

Python代码创建目录

# 导入模块
import os

#通过传递目录名的方法调用
os.mkdir('test')

上面的示例在当前目录中创建目录。

目录创建过程中的异常处理

步骤1:检查资料夹是否存在

# 导入模块
import os

# 目录名
folder_name = 'test'

# 检查文件夹/目录是否存在
if not os.path.exists(folder_name):    os.mkdir(folder_name)
    print("folder '{}' created ".format(folder_name))
else:
    print("folder {} already exists".format(folder_name))

输出结果

folder test already exists

步骤2:如果目录已经存在,则应用程序将引发“ FileExistsError”错误。为了避免异常,建议始终使用try / except

# 导入模块
import os

# 目录名
folder_name = 'test'

# 检查文件夹/目录是否存在
try:    os.mkdir(folder_name)
    print("folder '{}' created ".format(folder_name))
except FileExistsError:
    print("folder {} already exists".format(folder_name))

输出结果

folder test already exists

创建包括子目录的目录

如果不存在语法'os.mkdir(<path>)',则无法创建给定路径的中间目录。在这种情况下引发的错误是

# 导入模块
import os

# 用子目录创建目录
# 在这里,会产生错误
os.mkdir('test1/test')

输出结果

Traceback (most recent call last):
  File "main.py", line 6, in <module>
    os.mkdir('test1/test')
FileNotFoundError: [Errno 2] No such file or directory: 'test1/test'

注:os.mkdir()如果test1已经存在,则会为test1创建一个子目录。

要使用其子目录创建目录,请使用功能“makedirs()' 用来。

# 导入模块
import os

# 用子目录创建目录
os.makedirs('test/test3')

使用创建目录期间的异常处理 os.makedirs()

步骤1:检查资料夹是否存在

# 导入模块
import os

# 用子目录创建目录
folder_name = 'test/test3'
if not os.path.exists(folder_name):    os.makedirs(folder_name)
    print("folder '{}' created ".format(folder_name))
else:
    print("folder {} already exists".format(folder_name))

输出结果

folder 'test/test3' already exists

步骤2:如果目录已经存在,则应用程序将引发“ FileExistsError”错误。为了避免异常,建议始终使用try / except

# 导入模块
import os

# 用子目录创建目录
folder_name = 'test/test3'

try:    os.makedirs(folder_name)
    print("folder '{}' created ".format(folder_name))
except FileExistsError:
    print("folder {} already exists".format(folder_name))

输出结果

folder 'test/test3' already exists