在 Python 中获取用户的多行输入
输入处理在许多编程场景中可能是一项至关重要的任务。与 Python 2 相比,Python 3 引入了多项更改,其中一个显着的区别是 input() 函数的修改行为。在 Python 3 中,input() 仅读取并返回单行输入,这导致处理多行数据时出现困难。
为什么不使用 raw_input()?
在Python 2中,raw_input()函数可以有效地处理多行输入。然而,由于某些安全问题以及对更一致的输入处理方法的偏好,raw_input() 在 Python 3 中已被弃用。
多行输入的替代方案
为了解决这个问题并实现多行输入的高效处理,Python 3 中有两个主要替代方案:
1。使用 input() 和 EOF 处理进行循环:
此方法涉及创建循环并重复读取输入,直到遇到文件结尾 (EOF)。要正确处理 EOF,可以使用 Python 的 EOFError 异常。
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)
2.使用 sys.stdin.readlines():
此方法从 stdin 读取整个输入(通常是用户的键盘输入)并返回行列表。
import sys contents = sys.stdin.readlines()
中结论是,虽然 raw_input() 在 Python 3 中不再可用,但还有其他方法可以有效处理多行输入。通过使用这些方法,开发人员可以有效地解决 Python 3 中的输入处理需求。
以上是如何在 Python 3 中处理多行输入?的详细内容。更多信息请关注PHP中文网其他相关文章!