有没有办法用给定的Python命令处理stdin
的每一行而不用样板代码设置东西?
使用Perl,我可以做类似的事情:
perl -pe '... command ...'
我可以用Python做同样的事吗?
注意:使用许多其他工具可以实现类似的功能,例如: sed,awk等...
答案 0 :(得分:5)
在这方面,Python不如Perl方便,但您可以使用-p
接近Perl的fileinput
标志,如下所示:
python -c 'for ln in __import__("fileinput").input(): print ln.rstrip()' files...
这将像Perl一样自动打开文件,如果没有提供文件,则使用标准输入。将print
替换为任何类型的处理。您可能需要多行才能执行任何有用的操作,但这对大多数shell来说都不是问题。
请注意,需要rstrip
以避免源行中的换行重复以及print
语句添加的换行符。如果您不打印该行,则无需调用它。
答案 1 :(得分:-2)
尝试-c
解释器选项:
python -c "print 'cool'"
答案 2 :(得分:-2)
您可以通过执行以下命令从普通的bash shell进入交互模式: 蟒蛇