Выборочное удаление строк из файла 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 меньше его номера) И просто перезаписываете файл контактов

→ Ссылка