用换行符拆分Python
我在按换行符将字符串拆分为列表时遇到问题。我的代码:用换行符拆分Python,python,python-2.7,split,newline,Python,Python 2.7,Split,Newline,我在按换行符将字符串拆分为列表时遇到问题。我的代码: i=raw_input().split("\n") .split()做我认为它能做的事吗?如果是这样,我如何让它合作 以下是我的意见: >>>>>>v ^ v ^ >>>>X 如 原始输入([提示]) 如果存在prompt参数,则将其写入标准输出,而不带尾随换行符然后函数从输入中读取一行,将其转换为字符串(去掉尾随的换行符),并返回该字符串。读取EOF时,EOFE
i=raw_input().split("\n")
.split()
做我认为它能做的事吗?如果是这样,我如何让它合作
以下是我的意见:
>>>>>>v
^ v
^ >>>>X
如
原始输入([提示])
如果存在prompt参数,则将其写入标准输出,而不带尾随换行符然后函数从输入中读取一行,将其转换为字符串(去掉尾随的换行符),并返回该字符串。读取EOF时,EOFError升高
它从输入中读取一行。如果要从输入中读取三行,必须使用三个raw\u input()
,您可以读取三个raw\u input()
,并将它们附加到列表中。范例-
lst = [raw_input(), raw_input(), raw_input()]
import sys
x = sys.stdin.read()
print(x.split('\n'))
演示-
>>> lst = [raw_input(), raw_input(), raw_input()]
1
2
3
>>> lst
['1', '2', '3']
如果您正在从文件或其他地方重定向标准输入,如@KevinGuan的评论中所述,您还可以使用
sys.stdin.read()
立即读取完整的输入,然后对其进行拆分。范例-
lst = [raw_input(), raw_input(), raw_input()]
import sys
x = sys.stdin.read()
print(x.split('\n'))
示例文本文件-
Blah
Blah1
blah2
结果-
python a.py < a.txt
['Blah', 'Blah1', 'blah2']
python a.py
但是请注意,如果您是从文件重定向,我宁愿使用python本身来读取文件。我想您应该使用
sys.stdin.read()
:
输出:
# here is the input:
>>>>>>v
^ v
^ >>>>X
# then press Ctrl+D on Linux, or Ctrl+Z on Windows
['>>>>>>v', '^ v', '^ >>>>X']
要使用示例输入将文件中的行读取到Python列表中,请执行以下操作:
import fileinput
lines = [line.strip() for line in fileinput.input('input.txt')]
输出:
>>> lines
['>>>>>>v', '^ v', '^ >>>>X']
是的,我可能已经在我的答案中添加了这个,但是如果它是从文件重定向的,我宁愿使用
open()
。那么,我的新答案没用了吗?不,你可以保留它。我投了更高的票,这也是一个很好的答案。这将是一个完美的答案