У меня есть несколько функций и кнопок с полями ввода, а также список и чтобы его сохранить данные берутся из файла, а потом передаются в список. Мне нужно добавлять, изменять и удалять данные в случае чего-либо. Добавление я сделал, а потом изменение и удаление как-то не получается.
#тут открывается файл и передается в список all_words
file2 = open('imena.txt', "r")
all_words = []
line = file2.readline().split(', ')
while line:
all_words.extend(line)
line = file2.readline().split()
file2.close()
#тут вывод всех имён из файла
def imena():
file1 = open('imena.txt', "r")
all_words = []
line = file1.readline().split()
while line:
all_words.extend(line)
line = file1.readline().split()
im2 = all_words
print('Список имён:')
t = -1
for i in range(len(im2)):
t = t + 1
print(t,im2[i])
file1.close()
#тут добавление имени в файл
def dob_im():
a2 = ln3.get()
file = open('imena.txt', "r+")
file.write(str(a2) + ', ')
all_words = []
line = file.readline().split()
while line:
all_words.extend(line)
line = file.readline().split()
file.close()
#тут я попробовал сделать изменение
def izm_im():
a3 = ln4.get()
a4 = ln5.get()
file = open('imena.txt', "r+")
all_words = []
line = file.readline().split()
while line:
all_words.extend(line)
line = file.readline().split()
all_words.insert(int(a3),str(a4))
print(all_words)
file.close()
#удаление пока не делал, т.к. изменение не получилось
Список изменяется, но как его обратно записать в файл, чтобы оно не просто добавилось к старому, а изменилось? То есть по идее файл должен стать пустым, а потом должен быть заполнен содержимым списка.
Команда
os.system(r'nul>imena.txt')
(вроде такая) вызывает ошибку отказа в доступе.