小编Pet*_*erH的帖子

Python使用input()逐行迭代stdin

我试图从控制台获取由换行符分隔的多个名称,并将它们放入变量中.让我们假设我想永远从终端获得输入(我将添加一些代码以便稍后打破循环).我知道如何使用while循环和递归来完成它,但我希望能够使用for循环来完成它.

在下面的例子中,当我"peter"从终端获得输入时,我得到的每个字母而不是一行一行:

for name in input():
    print(name)
Run Code Online (Sandbox Code Playgroud)

现在,如果我使用sys.stdinname变量变成"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.

python python-3.5

10
推荐指数
1
解决办法
6310
查看次数

标签 统计

python ×1

python-3.5 ×1