我尝试将 python3 的一些输出通过管道传输到 dzen2,但 dzen 不会更新。
在庆典中:
i=0; while true; do; echo $i; (( i++ )); sleep 1; done | dzen2
输出端:
0
1
2
3...
在 python 中
import time
i=0
while True:
print(i)
i+=1
time.sleep(1)
输出端:
0
1
2
3...
python3 while.py | dzen2 黑色空dzen2-bar
bash-循环.sh | dzen2 从 0 到 ... 计数的黑条
最佳答案
当 python 的输出是 tty 时,它会缓冲标准输出。但是当它的输出是管道时,stdout 是 block 缓冲的。这意味着 python 将保留所有数据,直到它有一个完整的 block (1024 字节,或 512,或 4192,取决于您的系统)要写入。这是非常标准的。请参阅:stackoverflow.com/questions/107705/python-output-buffering
关于python - 管道 python3 输出到 dzen2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23407915/