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 次瀏覽

啟動你的 職業生涯

透過完成課程獲得認證

開始學習
廣告