OS 模块的 Python 方法 mknod() 创建一个文件系统节点,例如具有给定路径的 file、device special file 和 named pipe。
其 “mode” 参数用于指定与文件相关的权限。但是,如果我们使用按位 OR 将其与给定的常量之一 stat.S_IFREG,统计。S_IFCHR,统计。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/qikepu/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/qikepu/tmpfile
Device numbers: 2580
Character device created at: /home/tp/Python/qikepu/tmpfile