107

我有很多行的字符串。如何使用for子句逐行阅读?这是我正在尝试做的事情,我在该for line in textData行中引用的 textData var 上收到错误。

for line in textData
    print line
    lineResult = libLAPFF.parseLine(line)

textData 变量确实存在,我在关闭之前打印它,但我认为预编译器正在引发错误。

4

3 回答 3

183

怎么用.splitlines()

for line in textData.splitlines():
    print(line)
    lineResult = libLAPFF.parseLine(line)
于 2013-03-14T23:32:36.427 回答
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
于 2013-03-14T23:32:32.523 回答
2

这个答案在几个边缘情况下失败了(见评论)。上面接受的解决方案将处理这些问题。str.splitlines()是要走的路。尽管如此,我还是会留下这个答案作为参考。

旧(不正确)答案:

s =  \
"""line1
line2
line3
"""

lines = s.split('\n')
print(lines)
for line in lines:
    print(line)
于 2013-03-14T23:35:40.273 回答