Ваш файл содержит \n
в конце - строка после "пуста".
Этот temp = str(line).replace("\n","").split("/")
возвращает список с 1 элементом.
После этого вы получаете доступ к этому списку с помощью temp[1]
- это вызывает ошибку индексации.
В следующий раз, когда вы получите такую ошибку, замените строку доступа печатью списка, это даст вам хорошее представление о том, что не так.
Использование
if len(temp) < 2 or temp[0] == "mode:":
continue
Пустые списки являются ложными, и это будет продолжаться впоследствии.
Другая вещь, которую вы всегда можете сделать, если у вас возникнут исключения: поймать их.
try:
print( [][20])
except IndexError as e:
print(e)
Код для его проверки (используйтесначала один, потом другой create-код для config.cf):
# works
with open("config.cf","w") as f:
f.write("""mode:custom
.txt/text""")
# fails
with open("config.cf","w") as f:
f.write("""mode:custom
.txt/text
""")