3 回答
TA贡献1799条经验 获得超8个赞
在Python 3.x中raw_input(),Python 2.x的input()功能已被替换。但是,在两种情况下,您都无法输入多行字符串,为此,您需要从用户行中逐行获取输入,然后.join()使用来输入它们\n,或者您也可以采用多种行并使用+由运算符分隔的行将它们连接起来\n
要从用户那里获得多行输入,您可以像这样:
no_of_lines = 5
lines = ""
for i in xrange(5):
lines+=input()+"\n"
print lines
要么
lines = []
while True:
line = input()
if line:
lines.append(line)
else:
break
text = '\n'.join(lines)
TA贡献1848条经验 获得超2个赞
raw_input 可以正确处理EOF,因此我们可以编写一个循环,进行读取,直到收到用户的EOF(Ctrl-D):
Python 3
print("Enter/Paste your content. Ctrl-D or Ctrl-Z ( windows ) to save it.")
contents = []
while True:
try:
line = input()
except EOFError:
break
contents.append(line)
Python 2
print "Enter/Paste your content. Ctrl-D or Ctrl-Z ( windows ) to save it."
contents = []
while True:
try:
line = raw_input("")
except EOFError:
break
contents.append(line)
TA贡献1772条经验 获得超8个赞
input(prompt) 基本上相当于
def input(prompt):
print(prompt, end='', file=sys.stderr)
return sys.stdin.readline()
sys.stdin如果愿意,您可以直接阅读。
lines = sys.stdin.readlines()
lines = [line for line in sys.stdin]
five_lines = list(itertools.islice(sys.stdin, 5))
前两个要求以某种方式结束输入,方法是到达文件末尾,或者通过用户键入Control-D(或Windows中的Control-Z)来指示结束。在从文件或从终端/键盘读取了五行之后,最后一行将返回。
添加回答
举报