我有raw_input命令的问题。我在程序中使用它并在cmd中运行程序。然后它询问输入,但是当我粘贴那里有空行的文本时,python会自动将其作为输入命令。我希望它理解它不是输入命令而只是新行。我怎么能这样做?
答案 0 :(得分:2)
为此,您不能使用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 + ž
希望这有帮助!
答案 1 :(得分:1)
根据python文档,raw_input()旨在将\n
作为结束输入的键,并且它不是为另一种交互方式而设计的。
如果您想使用其他方式使用输入,可以尝试使用fileinput()
或sys.stdin.read()
并迭代线条或字符,并创建您正在寻找的行为。
查看问题的答案,例如that one