如何从管道 grep 输出中读取 python 中的 STDIN
How to read from STDIN in python from a piped grep output
假设我有一个文本文件 grep "@" file.txt
returns:
(1) preparing corpus @ Tue Apr 28 20:19:31 CEST 2015
(1.0) selecting factors @ Tue Apr 28 20:19:31 CEST 2015
(1.2) creating vcb file /media/2tb/ccexp/phrase-mkcls-mgiza-10clusters/work.en-ru/training/corpus/en.vcb @ Tue Apr 28 20:19:31 CEST 2015
我想使用我的 python 脚本来读取输出,例如:
grep "@" file.txt | python process.py
我试过了(process.py
但它只读取第一行:
import sys
logfile = raw_input()
print raw_input()
[输出]:
(1) preparing corpus @ Tue Apr 28 20:19:31 CEST 2015
如何读取通过管道传输到 python 脚本中的所有行?
正如@AshwiniChaudhary 建议的那样:
import sys
log = "".join([i for i in sys.stdin])
print log
假设我有一个文本文件 grep "@" file.txt
returns:
(1) preparing corpus @ Tue Apr 28 20:19:31 CEST 2015
(1.0) selecting factors @ Tue Apr 28 20:19:31 CEST 2015
(1.2) creating vcb file /media/2tb/ccexp/phrase-mkcls-mgiza-10clusters/work.en-ru/training/corpus/en.vcb @ Tue Apr 28 20:19:31 CEST 2015
我想使用我的 python 脚本来读取输出,例如:
grep "@" file.txt | python process.py
我试过了(process.py
但它只读取第一行:
import sys
logfile = raw_input()
print raw_input()
[输出]:
(1) preparing corpus @ Tue Apr 28 20:19:31 CEST 2015
如何读取通过管道传输到 python 脚本中的所有行?
正如@AshwiniChaudhary 建议的那样:
import sys
log = "".join([i for i in sys.stdin])
print log