Python 索引器错误:尝试读取文本文件时,列表索引超出范围
我正试图通过输入(类似于字典)制作一个单词保存器和读取器 我的代码: 错误:Python 索引器错误:尝试读取文本文件时,列表索引超出范围,python,arrays,python-3.x,indexing,text,Python,Arrays,Python 3.x,Indexing,Text,我正试图通过输入(类似于字典)制作一个单词保存器和读取器 我的代码: 错误: if fields[1]!="": IndexError: list index out of range 我试着用range做这个,得到错误“必须是int或index”, 您能告诉我如何使用这些索引并使其工作吗?这意味着您的文件中至少有一行不包含任何“;”,因此拆分(“;”)的结果只包含一个元素。。。因此调用字段[1]是一个错误 如果要测试行中是否有第二个字段,则应替换If fields[1]!=“by如果
if fields[1]!="":
IndexError: list index out of range
我试着用range做这个,得到错误“必须是int或index”,
您能告诉我如何使用这些索引并使其工作吗?这意味着您的文件中至少有一行不包含任何“;”,因此
拆分(“;”)
的结果只包含一个元素。。。因此调用字段[1]
是一个错误
如果要测试行中是否有第二个字段,则应替换
If fields[1]!=“
by如果len(fields)>1
它包含”;“那么文件中至少有一行不包含”!也许文件的最后一行是空行?或者,正如@NomadMonad所建议的,您实际上指的是“;”没有空格作为分隔符?你说的“行”是什么意思?只有一行有一个单词,它应该读取该行中的第二个单词,这是不存在的,这是因为“if.”与文件中的行一起循环文件中的所有行。如果您知道您的文件只包含一行,那么这个循环是无用的。第二,行if字段[1]=“
的意思不是“如果字段[1]不存在”,而是“如果字段[1]存在且为空”,这是不同的。在您的情况下,字段[1]
不存在,因此错误很明显,有一行只有一个字段。。。在访问索引之前,请检查您的输入,并检查字段的长度。
if fields[1]!="":
IndexError: list index out of range