Код работает без ошибок, новые данные записываются, но удаляются. Возможно это не из-за json, а из-за словаря
Код:
import json
import time
class expenses:
def __init__(self, account_of_lost, amount_of_loss):
self.id_spisania = time.strftime("%d.%m.%Y %H:%M:%S")
self.account_of_lost = account_of_lost
self.data_of_lost = time.strftime("%d %b %Y")
self.amount_of_loss = amount_of_loss
def add_new_expenses(self):
spisania_dict = {}
spisania_dict[self.id_spisania] = {
"data": self.data_of_lost,
"summa": self.amount_of_loss,
"schet": self.account_of_lost,
"valuta": "TRY",
}
with open("dict.json", "r+") as file:
json.dump(spisania_dict, file, indent=4, ensure_ascii=False)
exns = expenses("Наличка", 100)
def main():
user_choise = input("Хотите продолжить?")
while user_choise == "да":
exns.add_new_expenses()
user_choise = input("Хотите продолжить?")
if __name__ == "__main__":
main()