python - 如何编写适用于 Linux 管道的 Python 脚本?

标签 python linux

speaker.py 中,我使用 print 将文本输出到 STDOUT:

import time

while True:
    time.sleep(1)
    print("hello")

listener.py 中,我使用 inputSTDIN 读取:

while True:
    line = input()
    if not line:
        break
    print(line)

我正在尝试用管道连接这两个脚本:

python speaker.py | python 监听器.py

但是 listner.py 没有输出。

怎么了?

最佳答案

本身并没有什么问题,但您遇到了缓冲问题。取出 sleep,您应该会立即看到输出。

http://mywiki.wooledge.org/BashFAQ/009名义上是一个 Bash 问题,但适用于任何 Unix 类型的 I/O,并彻底解释了这些问题。

关于python - 如何编写适用于 Linux 管道的 Python 脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32539314/

相关文章:

python - 如何在 matplotlib 饼图中设置楔形边框?

python - 非贪婪 XML 中的多个匹配(Python 正则表达式)

Linux - 下载/解压脚本

linux - 无法在 bash 中获得正确的 git 分支名称

linux - 从 curl 命令在 shell 脚本中获取正确的输出

linux - Unix 和 Linux/proc PID 系统

python - 如何搜索代码片段

python - 如何替换图像中彩色对象的颜色?

php - MySQL 和 PHP 的最佳服务器端语言

python - 光滑XMPP : Getting presence ['muc' ] ['jid' ] to message handler for each message