2013-12-08 93 views
0

我有raw_input命令的問題。我在程序中使用它,並在cmd中運行程序。然後它詢問輸入,但是當我粘貼其中有空行的文本時,則Python自動將其作爲輸入命令。我想讓它明白它不是輸入命令,而是新行。我怎麼能這樣做?cmd中的raw_input Python

+2

很難明白到底是什麼導致你的問題沒有看到一些代碼。你能否加入一個簡短的程序(10行左右)來重現問題? –

+0

第一次搜索給了我:[如何處理原始數據的蟒蛇](http://stackoverflow.com/questions/19202407/how-to-process-raw-data-in-python#answer -19202500) –

回答

1

要做到這一點,您不能使用raw_input函數,因爲此函數在第一個新行字符後完成讀取輸入。相反,你可以使用sys.stdin

>>>import sys 
>>>input = sys.stdin.read() 
hi 
this text has 
new lines 
Ctrl^D 
>>>print input 
hi 
this text has 
new lines 

讀完輸入你要發送EOF字符,它在Linux是按Ctrl +d和Windows是按Ctrl +ž

希望這會有所幫助!

0

根據python文檔,raw_input()被設計爲具有\n作爲結束輸入的關鍵,並且它沒有被設計用於另一種交互方式。

如果您想使用另一種使用輸入的方式,您可以嘗試使用fileinput()sys.stdin.read(),並遍歷線條或字符並創建要查找的行爲。

看一看的問題的答案,如that one