作者热门文章
- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我想将 ps -ef
的输出逐行传输到 python。
我正在使用的脚本是这个(first.py) -
#! /usr/bin/python
import sys
for line in sys.argv:
print line
不幸的是,“行”被分成了由空格分隔的单词。所以,例如,如果我这样做
echo "days go by and still" | xargs first.py
我得到的输出是
./first.py
days
go
by
and
still
如何编写脚本以使输出为
./first.py
days go by and still
?
最佳答案
我建议不要使用命令行参数,而是从标准输入(stdin
)读取。 Python 有一个简单的习惯用法来遍历 stdin
处的行:
import sys
for line in sys.stdin:
sys.stdout.write(line)
我的使用示例(上面的代码保存到iterate-stdin.py
):
$ echo -e "first line\nsecond line" | python iterate-stdin.py
first line
second line
用你的例子:
$ echo "days go by and still" | python iterate-stdin.py
days go by and still
关于python - 如何从linux程序逐行将输入管道输入到python?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17658512/
我是一名优秀的程序员,十分优秀!