Я пытаюсь добавить и перезаписать одновременно, используя следующий код:
with open("file.txt",'r') as f:
data=f.readlines()
user_amount = data[2].rstrip()
def deposit(event):
if event >= 0:
user_amount += event
with open("file.txt", 'a') as a:
a.writelines(event)
def save():
with open("file.txt",'w') as f:
for i,line in enumerate(data,1):
if i == 3:
f.writelines(user_amount)
else:
f.writelines(line)
файл состоит из следующих строк:
first line
second line
user_amount
fourth line
Итак, в основномчто я хочу сделать: у меня есть кнопка с именем «Deposit», которая при нажатии вызывает функцию deposit (), которая получает значения из Entry и сохраняет в переменной user_amount.Например, если я введу 10 в поле «Entry» и нажму кнопку «Внести сумму user_amount», сумма 10 отобразится в метке.Пока все хорошо, значения добавляются в файл каждый раз, когда я нажимаю кнопку внесения.Однако есть еще одна кнопка с именем log_out, которую мне нужно нажать и вызвать функцию save (), чтобы сохранить «новую сумму» в индексе 2!Работает нормально, индекс 2 в моем файле обновляется до новой суммы, но моя проблема в том, что все добавления исчезают.чтобы быть более понятным, мне нужно добавить все значения, введенные Entry, в конец файла, а когда я нажимаю кнопку log_out, мне нужно сохранить новую сумму и оставить все добавленные.Первую, вторую и четвертую строку я не могу изменить.вывод должен быть:
first_line
second_line
user_amount (new_amount)
fourth_line
Deposit
100.0
Deposit
50.0
Deposit
200.0... line by line ( will show all deposits made)