通过Python写入现有命名管道

2024-10-01 15:28:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我在Bash中创建了一个命名管道,如下所示:

PIPE_IN=$(mktemp -u)
mkfifo $PIPE_IN

例如,这将生成:/tmp/tmp.H8EP7rYjCL

如何在Python中写入这个命名管道? 我已尝试将此作为文件重新打开:

^{pr2}$

但那不管用。奇怪的是,我写到新打开的文件中的任何内容都会在内部得到缓冲。当我通过Bash写入命名管道时,我看到进程中附加到命名管道的缓冲内容。例如

echo "foo" > /tmp/tmp.H8EP7rYjCL

收益率

somethingfoo

Tags: 文件inechobash内容管道foo进程
1条回答
网友
1楼 · 发布于 2024-10-01 15:28:57

您需要冲洗管道或写一个新行(通常会自动冲洗)。顺便说一句,这就是echo所做的。在终止python进程之前也要从管道中读取;否则在管道上写入时可能会被阻塞。在

编辑:忘记冲洗(见下面的注释)。在

相关问题 更多 >

    热门问题