Python - ошибка индекса вне диапазона

-8 Anihs Emma [2016-01-12 16:26:00]

Это мой последний код:

highest = {}
def reader():
    myfile = open("scores.txt","r")
    pre = myfile.readlines()

    print(pre)


    for line in pre :
       print(line)
       x = line.split(",")

       a = x[0]

       b = x[1]

       c = len(b)-1
       b = b[0:c]

       highest[a] = b

И это сообщение об ошибке Traceback полностью:

 Traceback (most recent call last):
        File "C:/Python34/my boto snaky/snaky.py", line 568, in gameLoop
        reader()
        File "C:/Python34/my boto snaky/snaky.py", line 531, in reader
        b = x[1]
        IndexError: list index out of range

python


1 ответ


2 Решение Sildar [2016-01-12 16:34:00]

Некоторые из ваших строк в scores.txt не имеют запятой. Вы можете проверить их:

if len(x) == 1 : #there is no comma
    continue #ignore line and go to the next one

Этот код будет игнорировать строки без запятой. Поместите его сразу после вычисления x = line.split(',').

То же самое, если вы просто хотите пропустить пустые строки:

if line.strip() == '': #remove whitespace then check if line is empty
    continue