Python os.mkdir() 方法



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'