如何使用 Python 在特定范围内逐行读取 txt 文件,同时忽略空行?
How to use Python to read a txt file line by line within a particular range while ignoring empty lines?
我尝试逐行读取一个 txt 文件 10 行,从某个字符串开始,并忽略空行。这是我使用的代码:
a =[]
file1 = open('try2.txt', 'r')
for line in file1:
if line.startswith('Merl'):
for line in range(10):
if line != '\n':
a.append(next(file1))
print(a)
但输出仍然包含空行。请问有什么建议吗?
出现问题是因为您检查 line
是否等于 '\n'
但您追加了下一行。解决方案是追加当前行,然后调用 next(file1)
.
a = []
file1 = open('try2.txt', 'r')
for line in file1:
if line.startswith('Merl'):
for i in range(10):
if line != '\n':
a.append(line)
line = next(file1)
print(a)
如果我没理解错的话你只想看前 10 行或者?然后尝试以下操作:
a = []
file1 = open('try2.txt', 'r')
counter = 0
for line in file1:
counter +=1
if counter > 10:
break
if line.startswith('Merl'):
if line != '\n':
a.append(next(file1))
print(a)
我尝试逐行读取一个 txt 文件 10 行,从某个字符串开始,并忽略空行。这是我使用的代码:
a =[]
file1 = open('try2.txt', 'r')
for line in file1:
if line.startswith('Merl'):
for line in range(10):
if line != '\n':
a.append(next(file1))
print(a)
但输出仍然包含空行。请问有什么建议吗?
出现问题是因为您检查 line
是否等于 '\n'
但您追加了下一行。解决方案是追加当前行,然后调用 next(file1)
.
a = []
file1 = open('try2.txt', 'r')
for line in file1:
if line.startswith('Merl'):
for i in range(10):
if line != '\n':
a.append(line)
line = next(file1)
print(a)
如果我没理解错的话你只想看前 10 行或者?然后尝试以下操作:
a = []
file1 = open('try2.txt', 'r')
counter = 0
for line in file1:
counter +=1
if counter > 10:
break
if line.startswith('Merl'):
if line != '\n':
a.append(next(file1))
print(a)