如何检测管道是否为空

时间:2019-06-06 00:48:27

标签: python pipe

我正在通过管道(在osx上使用Python 3.6.0)在两个python脚本之间进行通信。在发送消息并在管道中等待的理想情况下,读取消息不是问题。但是,当管道为空时,它会在尝试读取时挂起。

这是写入管道的脚本:

import pipes
pipe_path = "/tmp/mypipe"
t = pipes.Template()
t.append('tr a-z A-Z', '--')
f = t.open(pipe_path, 'w')
f.write('ping')

以下是读取该脚本的脚本:

import pipes
pipe_path = "/tmp/mypipe"
t = pipes.Template()
t.append('tr a-z A-Z', '--')
f = t.open(pipe_path, 'r')
txt = f.read()
print(txt)

因此,如果我运行第二个脚本而不运行第一个脚本,它将挂起。如何检测管道是否为空,并避免其挂在f.read()上?

0 个答案:

没有答案