Как сделать нормально сохранения

Максим Грушин

Пользователь
Пользователь
Апр 10, 2020
63
8
8
19
Тюмень
Здравствуйте, хотел спросить, как сделать нормальное сохранение. То есть надо чтоб self.text в функции def new_reminder
сохранялся куда-нибудь. В файл или в базу данных, без разницы. Но надо еще чтобы я мог в файл или в базу данных добавлять новые данные.
НО чтоб не изменялся старый, а добавлялся новый. Чтоб стало не 1, а 2, потом 3 и т.д. если понадобиться
Вот код:
Python:
import pickle
from datetime import datetime
import datetime
import time
import sqlite3
import sys

saved_name = None
try :
    with open("user.txt", "r", encoding="utf-8") as f :
        saved_name = f.read()
except :
    pass

if saved_name :
    print("Добрый день!", saved_name)
else :
    print("Добрый день, как вас зовут?")
    name = input("Введите ваше имя\n|>")
    with open("user.txt", "w", encoding="utf-8") as f :
        f.write(name)


def exit () :
    print("====================")
    print("Удачи!", saved_name)
    sys.exit()

class Reminder :
    text: str
    data_text = ({})

    def new_reminder ( self ) :
        print("'''Создание напоминания'''")
        print("Как называется напоминание?")
        self.text = input(">")

        print("Укажите время и дату")
        self.t = input("Вводите время в стиле ЧЧММCС\nВводите дату в стиле ДД/ММ/ГГГГ\n>")
        self.t = datetime.datetime.strptime(self.t, "%H:%M:%S %d/%m/%Y")
        print("Вы указади на\n>", self.t)
        Reminder.deadline(self)

    def form ( self ) :
        print("<Список напоминаний>")
        print("====================")
        print(self.cursor.fetchall())

    def deadline ( self ) :
        while True :
            self.now = datetime.datetime.now()
            print("Сейчас время:" + self.now.strftime("%d/%m/%Y %H:%M:%S"), end="\r")

            if self.now >= self.t :
                print("Время закончилось!     ")
                print("Название напоминания\n>", self.text)
                break
            time.sleep(1)

    # def delete(self):

    def save ( self ) :
        print("'''Сохранения всех напоминаний'''")
        with open("data.pickle", "wb") as f :
            pickle.dump(self.data, f)
        time.sleep(1)
        sys.exit()

    def load ( self ) :
        with open("data.pickle", "rb") as f :
            self.data = pickle.load()


reminder = Reminder()

actions = {
    "1" : lambda : reminder.new_reminder(),
    "2" : lambda : reminder.form(),
    "3" : lambda : reminder.delete(),
    "4" : lambda : reminder.save(),
    "5" : lambda : exit()
}

while True :
    print("=====================")
    print("Программа Напоминания")
    print("1 - Создать напоминание")
    print("2 - Посмотреть напоминания")
    print("3 - Удалить напоминания")
    print("4 - Сохранить и выйти")
    print("5 - Выйти без сохранений")
    x = input(">")

    if actions.get(x) :
        actions[x]()
    else :
        print("!Нету такого действия!")
 

root

Пользователь
Пользователь
Апр 29, 2020
60
14
8
Москва
Тебе сюда > https://pythonworld.ru/tipy-dannyx-v-python/fajly-rabota-s-fajlami.html
А ведь мог просто загуглить и не мучить себя текстом здесь, ты же сам и ответил на свой вопрос - файлы/бд.
 
  • Мне нравится
Реакции: Максим Грушин

Максим Грушин

Пользователь
Пользователь
Апр 10, 2020
63
8
8
19
Тюмень
Тебе сюда > https://pythonworld.ru/tipy-dannyx-v-python/fajly-rabota-s-fajlami.html
А ведь мог просто загуглить и не мучить себя текстом здесь, ты же сам и ответил на свой вопрос - файлы/бд.
Тооочно, спасибо.!!!
 

Форум IT Специалистов