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...')