Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 索引器错误:尝试读取文本文件时,列表索引超出范围_Python_Arrays_Python 3.x_Indexing_Text - Fatal编程技术网

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