我有很多行的字符串。如何使用for子句逐行阅读行?这是我正在尝试做的事情,并且在该for line in textData行中引用的textData var上出现错误。
for line in textData
print line
lineResult = libLAPFF.parseLine(line)
textData变量确实存在,我在关闭之前就将其打印出来,但是我认为预编译器正在启动该错误。
TIA
丹尼斯
我有很多行的字符串。如何使用for子句逐行阅读行?这是我正在尝试做的事情,并且在该for line in textData行中引用的textData var上出现错误。
for line in textData
print line
lineResult = libLAPFF.parseLine(line)
textData变量确实存在,我在关闭之前就将其打印出来,但是我认为预编译器正在启动该错误。
TIA
丹尼斯
textData?您能给我们一个SSCCE吗,我们可以运行并看到与您相同的问题,以便我们向您解释。
Answers:
那使用.splitlines()呢?
for line in textData.splitlines():
print(line)
lineResult = libLAPFF.parseLine(line)
"/r"与"/n"仅仅由一个斜杠和一个字母的正常两个字符串。你是说"\n"吗
通过换行符拆分。
for line in wallop_of_a_string_with_many_lines.split('\n'):
#do_something..
如果您迭代一个字符串,则是在该字符串中逐个char迭代char,而不是逐行迭代。
>>>string = 'abc'
>>>for line in string:
print line
a
b
c
在一些极端情况下,此答案失败(请参阅注释)。上面接受的解决方案将处理这些问题。str.splitlines()是要走的路。尽管如此,我将保留这个答案作为参考。
旧的(不正确的)答案:
s = \
"""line1
line2
line3
"""
lines = s.split('\n')
print(lines)
for line in lines:
print(line)
import re
re.split替代str.split(或splitlines)只是对换行字符分割?从单个静态文字字符中构建正则表达式无非是使事情变得更加复杂。
s.split。现在更改它
split('\n')将保留\r字符串中的所有字符。回车不会被删除,这可能是一个问题。