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
廣告