Python os.mknod() 方法



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