我试图从控制台获取由换行符分隔的多个名称,并将它们放入变量中.让我们假设我想永远从终端获得输入(我将添加一些代码以便稍后打破循环).我知道如何使用while循环和递归来完成它,但我希望能够使用for循环来完成它.
在下面的例子中,当我"peter"从终端获得输入时,我得到的每个字母而不是一行一行:
for name in input():
print(name)
Run Code Online (Sandbox Code Playgroud)
现在,如果我使用sys.stdin的name变量变成"peter\n":
for name in sys.stdin:
print(name)
Run Code Online (Sandbox Code Playgroud)
是否有一种简单的方法可以input()提供"name"整行而不是单个字符?或者仅仅通过使用的本质for in我将迭代输入中的字符?以这种方式获取输入是否存在任何固有的风险/问题?在这样的情况下,是否有"标准"的输入方式?
我在Ubuntu 15.10上使用Python 3.5.1.