PYTHON为什么这个for循环每隔一行打印一次
文件是一个列表,第5个元素为“Y”或空白,此循环仅每隔一行打印一次。为什么跳过它们?谢谢 这个文件是这种格式的,但是我还想看几百个 如果f[5]为Y或空白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
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)