PYTHON为什么这个for循环每隔一行打印一次

PYTHON为什么这个for循环每隔一行打印一次,python,file,for-loop,skip,Python,File,For Loop,Skip,文件是一个列表,第5个元素为“Y”或空白,此循环仅每隔一行打印一次。为什么跳过它们?谢谢 这个文件是这种格式的,但是我还想看几百个 如果f[5]为Y或空白 f=open('l.txt','r') for line in f: f_list=f.readline().split(",") if f_list[5]=="": print(f_list) 对于文件中的每一行 #1,00/00/00,00:00,name,string,Y,string #2,23/0

文件是一个列表,第5个元素为“Y”或空白,此循环仅每隔一行打印一次。为什么跳过它们?谢谢

这个文件是这种格式的,但是我还想看几百个 如果f[5]为Y或空白

f=open('l.txt','r')

for line in f:
    f_list=f.readline().split(",")
    if f_list[5]=="":
        print(f_list)
对于文件中的每一行

#1,00/00/00,00:00,name,string,Y,string
#2,23/03/17,13:00,gfdfh,fdsdf,,kyl
输出:

f=open('N:\CA Folder\\firesideFixtures.txt','r')

for f_list in f.read().splitlines():
    f_list=f_list.split(",")
    if f_list[5]=="":
        print(f_list)
建议:

readline()获取
\n
以及读取的行

例如

我的textfile.txt是:

['2', '23/03/17', '13:00', 'gfdfh', 'fdsdf', '', 'kyl']
在这里,当你阅读时

hello this is testing
test line 2

testline3
因此,您可以使用

f = open('textfile.txt','r') 

print f.readlines():
['hello this is testing\n', 'test line 2\n', '\n', 'testline3\n']
这将给

print f.read().splitlines()

希望这有帮助

答案很简单:每隔一行,列表的第6个元素是空的

如果添加一行代码来帮助调试:

['hello this is testing', 'test line 2', '', 'testline3']      
输出为:

f=open('l.txt','r')

for line in f:
    f_list=f.readline().split(",")
    print(f_list[5])
    if f_list[5]=="":
        print(f_list)
代码检查列表的第6个元素是否等于:“”(空字符串)。如果列表的第6个元素为空,则打印列表;如果不是空,则不打印列表

在这种情况下,第一行的六个元素不是空的,因此不会打印列表

要解决此问题,只需执行以下操作:

Y

['#2', '23/03/17', '13:00', 'gfdfh', 'fdsdf', '', 'kyl']

你忘了检查它是否等于Y

什么是fixture?@WenlongLiu和
fixture\u列表
。添加firesideFixtures.txt的内容。它可能每隔一行打印一次的原因之一是,每隔一行上的第6个元素不等于“”(空字符串)。您在每个循环中读取2行,但只处理其中一行。不要破坏您的问题。
f=open('l.txt','r')

for line in f:
    f_list=f.readline().split(",")
    if f_list[5]=="" or f_list[5]=="Y":
        print(f_list)