Python中的sys.stdin中的一行如何提取多个单词?

How do extract multiple words on one line in sys.stdin in Python?

假设我有以下内容:

>>> import sys
>>> a = []
>>> for line in sys.stdin.readline():
...     a.append(line.strip())
... 
hello jerry!
>>> a
['h', 'e', 'l', 'l', 'o', '', 'j', 'e', 'r', 'r', 'y', '!', '']

但我想以这样的列表结束:

>>> a
['hello', 'jerry!']

sys.stdin.readline() returns 一个字符串而不是行列表。因此,您正在迭代该字符串的字符而不是行。将您的代码更改为:

>>> import sys
>>> a = []
>>> for word in sys.stdin.readline().split():
...     a.append(word)
... 
hello jerry!
>>> a
['hello', 'jerry!']