mkdir() 方法是 Python OS 模块的内置函数,它允许我们在指定路径处创建一个新目录。我们还可以为新创建的目录指定模式。永远记住默认模式是 0o777(八进制)。在某些系统上,可能会忽略 mode。
如果我们尝试在不存在的目录中创建新目录,此方法将引发 FileNotFoundError。并且,如果我们指定现有目录的名称,它将引发 FileExistsError。
mkdir() 和 mkdirs() 方法的区别在于 mkdir() 方法用于创建单个目录,而 mkdirs() 可以创建嵌套目录。
语法
以下是 Python os.mkdir() 方法的语法 -
os.mkdir(path, mode, *, dir_fd)
参数
Python os.mkdir() 方法接受以下参数 -
- path − 这是一个字符串或字节值,表示需要创建的路径。
- mode − 这是要给出的目录的模式。
- dir_fd − 此参数是在 Python 版本 3.3 中引入的,它表示引用目录的文件描述符。其默认值为 “None”。
- * − 该参数表示后面的所有参数(在本例中为 dir_fd)都是纯关键字参数。
返回值
Python os.mkdir() 方法不返回任何值。
例在此示例中,我们将使用 mkdir() 方法创建名为 “monthly” 的目录。这里,我们将模式指定为 “0o755”,它将目录权限设置为读取、写入和执行。
import os, sys
# Path to be created
path = "/home/tp/Python/tmp/new/monthly"
os.mkdir( path, 0o755 );
print ("Path is created")
当我们运行上述程序时,它会产生以下结果——
Path is created
例
如前所述,如果指定的目录已存在,则会引发 FileExistsError。下面的示例演示了相同的操作。
import os, sys
# Path to be created
path = "/home/tp/Python/Qikepu"
try:
os.mkdir( path, 0o755 );
print ("Path created successfully")
except FileExistsError as err:
print(f"Error: {err}")
except OSError as err:
print(f"Error: {err}")
当我们执行上述程序时,会产生以下错误 -
Error: [Errno 17] File exists: '/home/tp/Python/Qikepu'