我有一个文本文件,使用python的readline()读入mysql,逐行读取。
我遇到的问题是文本文件有100多行,但第75行是空白行,0d0a,readline()认为文件到达终点,因此停在那里。
我该如何预防?
非常感谢。
P.S。以下是我的代码和示例文件中的部分:
for line in ipv4file:
if line:
lineSplit = line.split( )
ip_start = lineSplit[0]
# define a tuple data to hold the parameters, remove all the leading and trailing blank spaces
data = (lineSplit[0].lstrip().rstrip(), lineSplit[1].lstrip().rstrip(), lineSplit[2].lstrip().rstrip())
sqltemplate = """
insert into ipv4(ip_start, ip_end, ip_owner) values (%s, %s, %s)
"""
请注意,在1.6.0.0之前有0D 0A 0D 0A
感谢。
答案 0 :(得分:1)
您要检查空行:
if line:
但它不会起作用,因为换行符仍然是line
的一部分。您可以稍微修改测试以使其正常工作:
if line.strip():
答案 1 :(得分:0)
readline()实际上将行读入字符串元组,这意味着0D 0A将被读入(" \ n")的元组,所以我需要做的就是检查字符串,如果前两个字符是" \ n",那么这意味着这一行是一个空行,我需要做的就是跳过它。
感谢。