【问题标题】:Fail to read from `tail -F` via `stdin`无法通过 `stdin` 从 `tail -F` 读取
【发布时间】:2012-02-27 08:47:40
【问题描述】:

我正在尝试使用以下脚本 parse.py 解析一个不断增长的 csv 文件:

import csv
import sys

reader = csv.reader(sys.stdin)
for row in reader:
    print row

对应的命令行是tail -F log | python parse.py

然后我尝试使用echo "something" >> log 将一些行附加到log

但是parse.py 什么也不打印。

我的脚本有什么问题?

【问题讨论】:

    标签: python


    【解决方案1】:

    您遇到的问题是,您添加到日志文件的内容正在被缓冲,而不是传递给管道中的其他命令。

    欲了解更多信息,请查看how big is the pipe buffer

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-25
    • 2011-08-06
    • 2012-03-15
    • 2011-06-21
    • 1970-01-01
    • 2014-09-07
    • 2020-05-08
    • 1970-01-01
    相关资源
    最近更新 更多