Python os.mkdir() 方法



mkdir() 方法是 Python OS 模块的内置函数,允许我们创建指定路径的新目录。我们还可以指定新创建目录的模式。始终记住默认模式为 0o777(八进制)。在某些系统上,模式可能会被忽略。

如果我们尝试在不存在的目录中创建新目录,此方法将抛出 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/Tutorials"

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/Tutorials'
python_files_io.htm
广告