我想编写一个程序来获取多行输入并逐行使用它。为什么在 Python 3 中没有像 raw_input
这样的函数?
input
不允许用户用换行符 ( Enter
) 分隔行。它只打印第一行。
它可以存储在变量中,甚至可以将其读取到列表中吗?
原文由 MaciejPL 发布,翻译遵循 CC BY-SA 4.0 许可协议
raw_input
可以正确处理 EOF,所以我们可以编写一个循环,读取直到我们收到来自用户的 EOF (Ctrl-D):
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)
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)
原文由 xiaket 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答5.1k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
1 回答1k 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
在 Python 3.x 中,Python 2.x 的
raw_input()
已被替换为input()
函数。但是,在这两种情况下,您都不能输入多行字符串,为此,您需要逐行从用户那里获取输入,然后.join()
他们使用\n
,或者你可以还采用不同的行并使用+
运算符将它们连接起来\n
要从用户那里获取多行输入,您可以这样做:
要么