可能重複:
Python equivalent to perl -pe?Python作爲 「的perl -pe」,在標準輸入執行Python命令每一行
有沒有辦法來處理的stdin
每一行與給定的Python命令沒有設置樣板代碼的東西?
用Perl,我可以這樣做:
perl -pe '... command ...'
我可以做與Python一樣嗎?
注意:許多其他工具可能有類似的地方,例如, SED,AWK,等...
可能重複:
Python equivalent to perl -pe?Python作爲 「的perl -pe」,在標準輸入執行Python命令每一行
有沒有辦法來處理的stdin
每一行與給定的Python命令沒有設置樣板代碼的東西?
用Perl,我可以這樣做:
perl -pe '... command ...'
我可以做與Python一樣嗎?
注意:許多其他工具可能有類似的地方,例如, SED,AWK,等...
的Python:
python -c "print 'cool'"
嘗試-c
解釋選項: 蟒蛇
你可以通過執行以下命令進入從正常的bash shell交互模式在這方面Perl並不像Perl那麼方便,但你可以使用fileinput
這樣的標記來接近Perl的-p
,如下所示:
python -c 'for ln in __import__("fileinput").input(): print ln.rstrip()' files...
這將按照Perl的順序自動打開文件,或者如果沒有提供文件,則使用標準輸入。用任何類型的處理替換print
。你可能需要多行來做任何有用的事情,但這對大多數shell來說不是問題。
請注意,需要rstrip
以避免重複來自源代碼行的新行和由print
聲明添加的行。如果您不打印該行,則不需要調用它。