Выборочное удаление строк из файла Python
Итак, я хочу создать адресную книгу. Когда пользователь нажимает "2" выводится список всех контактов книги, пронумерованный. Я хочу, чтобы далее пользователь из командной строки мог как-то удалить выбранный им контакт(для этого я их и пронумеровал) , в самом файле контакты не пронумерованы, они нумеруются прямо перед выводом
ab = { "Мама" : "8908783xx07",
"Папа" : "8908783xr07"
}
print("Выберите действие:")
print("1)Добавить контакт")
print("2)Удалить контакт")
print("3)Просмотреть список всех контактов")
print("4)Изменить контакт")
print("5)Найти контакт")
act = input("Действие: ")
#События 2
if act == "2":
i = 0
f = open("ab1.txt")
while True:
line = f.readline()
if len(line) == 0:
break
i = i + 1
print(i, ")", line, end="")
Ответы (1 шт):
Автор решения: Стас
→ Ссылка
Используйте
with open('in.txt') as inp:
list=inp.read().split() # или massiv=[int(i) for i in inp.read().split()] элемент будет число тип int
print(list)
это отправит каждую строку вашего файла в ячейку списка.
Далее пользователь вводит номер строки, которую нужно удалить, допустим, a.
Пишете del list[a-1] (-1 потому что индекс в массиве на 1 меньше его номера)
И просто перезаписываете файл контактов