如何在Python中逐行读取长 multiline 字符串
我有一段很长的字符串,里面有很多行。我想用一个for
循环一行一行地读取这些行。这里是我想做的事情,但在for line in textData
这一行上,我遇到了一个关于textData变量的错误。
for line in textData
print line
lineResult = libLAPFF.parseLine(line)
textData变量确实存在,我在继续之前打印了它,但我觉得是预编译器引发了这个错误。
3 个回答
4
这个回答在一些特殊情况下会出问题(可以查看评论)。上面接受的解决方案可以处理这些情况。使用 str.splitlines()
是正确的做法。不过我还是把这个回答留着,供大家参考。
旧的(不正确的)回答:
s = \
"""line1
line2
line3
"""
lines = s.split('\n')
print(lines)
for line in lines:
print(line)
6
通过换行符来分割。
for line in wallop_of_a_string_with_many_lines.split('\n'):
#do_something..
如果你对一个字符串进行循环遍历,你实际上是在一个一个字符地查看这个字符串,而不是按行来查看。
>>>string = 'abc'
>>>for line in string:
print line
a
b
c
232
那使用 .splitlines()
呢?
for line in textData.splitlines():
print(line)
lineResult = libLAPFF.parseLine(line)