姬長信(Redy)

Python读取名为PIPE


我在linux中有一个命名管道,我想从python中读取它.问题是python进程’消耗’一个核心(100%)连续.我的代码如下:
FIFO = '/var/run/mypipe'
os.mkfifo(FIFO)
with open(FIFO) as fifo:
    while True:
        line = fifo.read()

我想问一下’sleep’是否有助于这种情况或进程是否会从管道中丢失一些输入数据.我无法控制输入,所以我不知道数据输入的频率.我读了关于选择和民意调查,但我找不到任何关于我的问题的例子.最后,我想询问100%的使用量是否会对数据输入产生任何影响(丢失或什么?).

编辑:我不想打破循环.我希望流程能够持续运行,并且可以“听到”来自管道的数据.