2015-10-20 53 views
2

我有一個字符串,我想傳遞給一個python腳本,例如,防止將新行字符從字面上讀入python腳本

$printf "tas\nty\n" 

產生

tas 
ty 

但是當我管(如printf "tas\nty\n" | ./pumpkin.py)其中pumpkin.py是:

#!/usr/bin/python 
import sys 
data = sys.stdin.readlines() 
print data 

我得到的輸出

['tas\n', 'ty\n'] 

我如何防止b的換行符eing閱讀python?

回答

4

可以去除所有空格(開頭和結尾)使用strip

data = [s.strip() for s in sys.stdin.readlines()] 

如果你只需要\n到底剝去你可以這樣做:

data = [s.rstrip('\n') for s in sys.stdin.readlines()] 

或使用splitlines方法:

data = sys.stdin.read().splitlines() 

http://www.tutorialspoint.com/python/string_splitlines.htm

+1

'data = sys.stdin.read()。splitlines()'也可以工作 –

+0

@irritable_phd_syndrom,謝謝,明白了) –