在Python中创建目录并处理异常
Pythonos.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