Python os.mknod() 方法



Python 的 OS 模組中的mknod()方法用於建立檔案系統節點,例如檔案、裝置特殊檔案和命名管道。

它的“mode”引數用於指定與檔案相關的許可權。但是,如果我們使用按位或運算子將其與給定的常量 stat.S_IFREG、stat.S_IFCHR、stat.S_IFBLK 和 stat.S_IFIFO 組合,我們可以輕鬆控制要建立的節點型別。

語法

以下是 Python os.mknod() 方法的語法:

os.mknod(filename, mode, device, *, dir_fd)

引數

Python os.mknod() 方法接受五個引數,如下所示:

  • filename − 要建立的檔案系統節點。

  • mode − 此引數指定要使用的許可權和要建立的節點型別。

  • device − 此引數指示要建立的裝置特殊檔案。其預設值為 0。

  • dir_fd − 它表示一個指向目錄的檔案描述符。

  • * − 表示所有後續引數(在本例中為 dir_fd)都是僅限關鍵字引數。

返回值

Python os.mknod() 方法不返回值。

示例

以下示例演示如何使用 mknod() 方法建立具有讀寫許可權的檔案系統節點。

import os
import stat

filename = "/home/tp/Python/new/tmpfile"
mode = 0o600|stat.S_IRUSR

# creating filesystem node 
os.mknod(filename, mode)
print("node created")

執行上述程式後,它將在“/home/tp/Python/new”目錄中建立一個名為“tmpfile”的簡單檔案:

node created

示例

在此示例中,我們正在建立一個具有指定主次裝置號的字元裝置特殊檔案。

import os
import stat

# Specify the path and the device type
path = "/home/tp/Python/Tutorials/tmpfile"

# Specify the mode
mode = stat.S_IFCHR | 0o600  
print("Mode specified: ", oct(mode))

# Major and minor device numbers
dev = os.makedev(10, 20)  
print("Device numbers: ", dev)

# Create a character device
os.mknod(path, mode, dev)  
print("Character device created at: ", path)

執行上述程式碼後,將顯示以下輸出:

Mode specified:  0o20600
Device numbers:  2580
Character device created at:  /home/tp/Python/Tutorials/tmpfile
python_files_io.htm
廣告
© . All rights reserved.