Linux上管道的Python readline

tMC*_*tMC 5 python pipe readline

os.pipe()它创建管道时返回2个文件号; 读取端和写入端,可以用os.write()/ 写入和读取os.read(); 没有os.readline().是否可以使用readline?

import os
readEnd, writeEnd = os.pipe()
# something somewhere writes to the pipe
firstLine = readEnd.readline() #doesn't work; os.pipe returns just fd numbers
Run Code Online (Sandbox Code Playgroud)

简而言之,当你拥有的是文件句柄号时,是否可以使用readline?

bra*_*ers 11

您可以使用os.fdopen()从文件描述符中获取类文件对象.

import os
readEnd, writeEnd = os.pipe()
readFile = os.fdopen(readEnd)
firstLine = readFile.readline()
Run Code Online (Sandbox Code Playgroud)