Python - не работает удаление строки

Подскажите пожалуйста в чем проблема. Первые две функции - то есть чтение из файла и запись в него вроде работают, тут разобрался. Но никак не могу понять почему у меня не получается удаление, пробовал разные методы-результат плохой, либо удаляется все полностью после первой строчки, либо вообще все данные. Спасибо

import sys,time

data_base = ('adress_book_project.txt')
phone_book=[]
file = open('adress_book_project.txt')
file.close()

print('!!!It is your PhoneBook - you can check/add/del userdata. Or print exit!!!')
command=input('Enter command please -> ')
if command=='exit':
        print('Program Exit...')
        sys.exit()
elif command =='check':
        file=open(data_base,'r')
        line = file.read()
        if len(line)==0:
                print('File is empty...')
        else:
                print('<-Info from your Phonebook->')
                print(line)

elif command == 'add':
        file=open(data_base,'a')
        add_name=input('Please enter name -> ')
        add_phone=input('Please enter phone -> ')
        phone_book.append(add_name)
        phone_book.append(add_phone)
        print('Was added info... Name->',add_name,',phone->',add_phone)
        file.write((str(phone_book))+'\n')
        file.close()

elif command == 'del':
        delete=input('Please enter user name,it will be deleted -> ')
        file=open(data_base,'r')
        line = file.readline()
        if line !=delete:
                file=open(data_base,'w')
                file.write(line)
                print('Information about',delete,'was deleted')
        file.close()
else:
        print('Please enter the correct command...')
    

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

Автор решения: Effex

Попробуйте следующее (перед этим импортируйте библиотеку fileinput):

import fileinput

elif command == 'del':
        delete=input('Please enter user name,it will be deleted -> ')
        for line in fileinput.input(data_base, inplace=True):
            if delete in line:
                continue
            print(line, end='')
else:
        print('Please enter the correct command...')
→ Ссылка