Python 中最常见的 POSIX 系统调用


posix 模块在 UNIX 环境中运行。它提供了操作系统功能。

我们不应该直接导入此模块。我们可以使用 os 模块。os 模块在 UNIX 上充当 posix 模块的超集。在非 Unix 系统上,posix 不可用,但 os 可用,但功能较少。

要使用 posix 模块,我们应该使用以下方法导入它。

import posix

POSIX 模块中存在不同的方法和常量。

常量 posix.environ

environ 是一个字典对象。它保存键和值。对于 UNIX,键和值都是字节类型。例如,environ[b’HOME’] 将显示系统的 home 目录。

如果我们修改此字典中的某些条目,它不会影响其他方法(如 execv()、popen() 等)的参数。要更改环境,我们需要将 environ 传递给 execve() 方法。否则,在 system() 或 popen() 方法的命令字符串中添加变量赋值和导出语句。

方法 posix.open(file_name, mode)

POSIX open() 方法可以打开本地磁盘上的文件。它返回一个文件描述符。当一个文件描述符关闭时,open() 方法会再次为新文件使用相同的描述符。

方法 posix.read(file_descriptor, size)

read() 方法用于使用文件描述符读取文件内容。它还获取要读取的最大限制。我们可以指定目录,但如果为 None,则该方法将选择当前目录。

示例代码

import posix
fruit_fd = posix.open("fruits", 0)
print(fruit_fd) #The File Descriptor
val = posix.read(fruit_fd, 512)
   print(val)
      print("The Home Directory: " + str(posix.environ[b'HOME']))

输出

$ python3 posix_example.py
3
b'Mango\nOrange\nBanana\nApple\nGuava\nGrape\nRaspberry\nBlueberry\nPineapple\nWatermelon\n'
The Home Directory: b'/home/unix_user

更新于: 2020-06-25

732 次浏览

启动你的 职业生涯

通过完成课程获得认证

开始学习
广告