在python中遍历文本块而不将其写入文件

2024-09-29 18:48:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我在循环中接受input()函数的一组行,直到它遇到EndofInput并将其存储在文本字符串中。现在这个输入是一个文本块。如何处理这些文本数据而不将其写入文件?我需要根据这个输入数据做一些操作。如何迭代?你知道吗

Courses
POT~Potions~1~2011-2012~Severus Snape
DADA~Defence Against the Dark ARTS~1~2011-2012~Gilderoy Lockhart
Students
RAV4309~Angelina Johnson
HUF7201~Gwenog Jones
GRF9110~Parvati Patil
RAV4308~Olive Hornby
Grades
POT~1~2011-2012~RAV4308~C
POT~1~2011-2012~RAV4309~B
POT~1~2011-2012~GRF9110~A
EndOfInput

lines = []
line="String"
while line != "EndOfInput":
        line = input();
        lines.append(line)


text = '\n'.join(lines)
print(text)

Tags: 文件数据函数字符串text文本inputline
3条回答

如果要将所有输入放在一个字符串变量中,但要在读取所有输入后分别处理每一行,请查看.split method on strings

例如,如果完整的字符串存储在变量input中,则可以执行以下操作

for line in input.split("\n"):
 #do something with that line

您正在创建一个行列表。只需遍历列表而不将其转换为字符串。你知道吗

while line != "EndOfInput":
    line = input();
    lines.append(line)

# you now have a list of lines, which you can easily iterate over
for line in lines:
    print("line:", line)

可能是这样的:

inputText = input()
doStuff = True
for l in inputText.split("\n"):
    if l.find('EndOfInput') > -1:
        doStuff = False
    if doStuff:
        #do what you want with the line

相关问题 更多 >

    热门问题