2016-01-19 47 views
2

要接收python 2.7中stdin的輸入,我通常使用import sys並使用sys.stdin。但是,我看到一些示例,其中raw_input用於接收來自stdin的輸入,包括多行輸入。我怎樣才能使用raw_input代替sys.stdin?下面是一個例子問題:如何使用raw_input從python 2.7的stdin接收輸入?

input.txt中:

Print 
me 
out 

而且我運行此命令:

cat input.txt | python script.py 

我可以把script.py什麼,這樣它將打印出所有使用raw_input的輸入線?

回答

0

你可以做這樣的事情:

while True: 
    try: 
     print raw_input() 
    except EOFError: 
     break 

raw_input只會從標準輸入回單線條,並且當​​讀EOF拋出EOFError

+0

它什麼時候會拋出一個EOFError? – Rohan

+0

https://latedev.wordpress.com/2012/12/04/all-about-eof/ – jacob

+0

爲什麼會拋出EOF? – Rohan