从Python中的文件读取时列出IndexError

时间:2014-05-08 17:31:07

标签: python

file_to_read = open("gradeSubject.rtf", "r")

for line in file_to_read:
    values = line.split()
    subject = values[0]
    grade = values[1]

    print(Subject, "---------->", grade)
file_to_read.close() 

文件有两列数据。像这样:

Subject     Grade
English      89
French       90
Maths        99
Science      100

4 个答案:

答案 0 :(得分:1)

更改

print(Subject, "---------->", grade)

print(subject, "---------->", grade)

答案 1 :(得分:0)

在尝试拆分之前打印线。那会告诉你哪条线路失败了。在这些情况下,它通常是一个空行(可能在文件的末尾)。

答案 2 :(得分:0)

猜测,你有一个空白行(或者至少有一行不包含任何空格),因此.split()返回一项列表,grade = values[1]失败,因为没有{{1} }}

答案 3 :(得分:0)

您指的是不存在的元素。试试这个:

for line in file_to_read:
    values = line.split()
    if len(values) > 1:
        subject = values[0]
        grade = values[1]

        print(subject, "---------->", grade)