Python | os.pipe 函數
怎樣創建管道,寫入和讀取數據
最近更新時間 2020-12-10 14:21:22
os.pipe 函數創建一個管道,返回一對分別用於讀取和寫入的文件描述符 (r, w)。
管道是一種將信息從一個進程傳遞到另一個進程的方法。它僅提供單向通信,並且傳遞的信息由系統保留,直到被接收過程讀取為止。
這個概念是由道格拉斯·麥克羅伊為 Unix 命令行發明的,因與物理上的管道相似而得名。
函數定義
os.pipe()
# 函數定義
def pipe() -> Tuple[int, int]: ...
參數
- checkNone - 無。
返回值
- checkTuple[int, int] - 讀和寫文件描述符。
示例1: - 使用 os.pipe() 函數創建管道進行讀寫。
# coding=utf-8
# Python3 代碼
# 講解怎樣使用 os.pipe() 函數創建管道進行讀寫
# 引入 os 庫
import os
# 創建一個管道
r, w = os.pipe()
# 創建一個子進程
# 父進程用於讀,子進程用於寫
pid = os.fork()
if pid > 0:
# 父進程
# 關閉讀文件
os.close(r)
# 寫入數據
print("Parent process is writing")
text = b"Hello child process"
os.write(w, text)
print("Written text:", text.decode())
else:
# 子進程
# 關閉讀文件
os.close(w)
# 讀取父進程數據
print("\nChild Process is reading")
r = os.fdopen(r)
print("Read text:", r.read())
Parent process is writing Written text: Hello child process Child Process is reading Read text: Hello child process