Я получаю индекс IndexError: string вне диапазона. Каждая строка в файле «document_words» заканчивается на «-99». Поэтому я думаю, что ошибка может быть вызвана тем, что «-99» не преобразуется в int. Но я не уверен. Если это так, то как я могу преобразовать «-99» в int и выйти из цикла.python IndexError: string index out of range
Ниже мой код:
words=open('words','r')
image=open('document_words','r')
data=open('input','a')
linecount=0
for line in image:
if line.strip():
linecount+=1
image.read()
image.seek(0,0)
while linecount>0:
line1=image.readline().split()
for entry in line1:
num=int(entry)
if (num<0):
print("break from loop")
break
else:
tag=words.readline()[num]
data.write(str(tag)+' ')
data.write('\n')
linecount=linecount-1
data.flush()
data.close()
words.close()
image.close()
Какая строка содержит ошибку? – TerryA
Ошибка в этой строке tag = words.readline() [num]. Файл слов будет пустым. Кроме того, вы открыли файл «слов» в режиме только для чтения и пытались записать в него. – rajpy
@Haidro: Я использовал инструкцию печати, она читает первую строку с изображения до -99. Затем дает: Файл «get.py», строка 26, в tag = words.readline() [num] IndexError: индекс строки вне диапазона –
nish