Добавление вводимой информации в выбранную строку

суть моего обращения в следующем. Написал данный код, который работал и выводил строку под нужным номером, но после определённой итерации стал выдавать ошибку "list index out of range" с жалобой на строку "f = f.readlines()[N-1]" (Учитывая, что в N вводится число от 1 до 5 соответствующие номеру строки в файле)

А так же хотел попросить подсказать, как сделать, чтобы информация записывалась следом в нужную строку, а не печаталась на новой и как включить готовую строку в существующий изначальный файл.(В данном случае, чтобы в строку добавился новый третий город, который вводит пользователь)

Заранее большое спасибо за помощь.

f = open('план.txt', 'r', encoding= 'utf-8')
print("Исходный список: "+'\n'+ "".join(f))
N = int(input("Введите номер строки: "))
g = str(input("Введите новый город: "))
f = f.readlines()[N-1]
f = f +', '+ g
print(f)

Текст исходного файла:

1;"Магнит";магазин;10000000;Москва, Волгоград
2;"Лента";магазин;80000000;Санкт-Петербург, Самара
3;"Лукойль";АЗС;10000000;Сочи, Анапа
4;"Татнефть";АЗС;90000000;Москва, Санкт-Петербург
5;"Пятерочка";магазин;80000000;Сочи, Ростов-на-Дону

Ответы (0 шт):