2013-12-08 56 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