您的位置:

用Python创建新文件夹 - os.mkdir

一、os.mkdir简介

os.mkdir()是python中os模块提供的一个创建新文件夹的函数。它可以在指定的路径下创建新的文件夹,该函数只能创建单层目录,无法递归创建多层目录。如果想要递归创建目录,则需要使用os.makedirs()函数。

二、os.mkdir的参数

os.mkdir()函数有一个必须传入的参数,即新文件夹的路径。新文件夹的路径可以是绝对路径,也可以是相对路径。如果是相对路径,则相对于当前工作目录。下面是os.mkdir()的函数声明:


os.mkdir(path, mode=0o777, *, dir_fd=None)
  • path:新文件夹的路径
  • mode:新文件夹的权限,默认为0o777(即所有用户都有读、写、执行的权限)
  • dir_fd:表示要创建目录的文件描述符(file descriptor)。默认情况下,dir_fd参数为None,表示在与当前工作目录相同的文件描述符上(即相对于当前工作目录)创建目录。

三、os.mkdir的用法示例

下面是一个简单的使用os.mkdir()函数创建新文件夹的示例:


import os

# 新文件夹名字
new_folder = 'new_folder'

# 如果不存在该文件夹,则创建
if not os.path.exists(new_folder):
    os.mkdir(new_folder)
    print(f'{new_folder}已创建')
else:
    print(f'{new_folder}已存在')

上述代码首先引入os模块,然后定义了一个新文件夹的名字(new_folder)。接着使用if语句来判断该文件夹是否已经存在,如果不存在则使用os.mkdir()函数来创建,否则打印该文件夹已存在的信息。

四、os.makedirs的用法示例

如果想要递归创建目录,在python中可以使用os.makedirs()函数。该函数与os.mkdir()函数的参数相同,用法示例也类似,下面是一个递归创建目录的示例:


import os

# 新文件夹名字
new_folder = 'new_folder/child_folder/grandchild_folder'

# 如果不存在该文件夹,则递归创建
if not os.path.exists(new_folder):
    os.makedirs(new_folder)
    print(f'{new_folder}已创建')
else:
    print(f'{new_folder}已存在')

上述代码首先定义了一个包含多级目录的路径(new_folder/child_folder/grandchild_folder)。接着使用if语句来判断该文件夹是否已经存在,如果不存在则使用os.makedirs()函数来递归创建,否则打印该文件夹已存在的信息。

五、os.mkdir的注意事项

在使用os.mkdir()函数创建新目录时,需要注意以下几点:

  • 创建新目录时需要确保所在的路径存在,否则会抛出异常
  • 如果想要创建多级目录,则需要使用os.makedirs()函数来递归创建目录
  • 在创建新目录时可以指定权限,不指定时默认为0o777
  • 如果创建的目录已经存在,则会抛出异常