@megasaur

Как сохранить введенные данные в программе?

Подскажите как сохранить полученные от пользователя данные так, что бы после завершения программы они оставались в ней(например в отдельном списке)
  • Вопрос задан
  • 3249 просмотров
Пригласить эксперта
Ответы на вопрос 2
trapwalker
@trapwalker Куратор тега Python
Программист, энтузиаст
pickle - стандартная библиотека для маршалинга данных
import pickle

DATA_FILE_NAME = 'persistent_data.pickle'  # имя файла, где будут храниться персистентные данные
try:  # открываем блок обработки ошибок:
    with open(DATA_FILE_NAME, 'rb') as f:  # открываем файл на бинарное чтение
        my_persistent_data = pickle.load(f)  # производим демаршалинг содержимого файла в переменную my_persistent_data
except Exception:  # если при этом произошла какая-то ошибка (файл не открылся, данные не распарсились)
    my_persistent_data = {}  # то в эту переменную кладём пустой словарь

print('Old data:', my_persistent_data)  # печатаем всё, сохранившееся с прошлого раза
key = input('Введите имя параметра: ')  # запрашиваем у пользователя имя парамтра
value = input(f'Значение параметра: {key} = ')  # запрашиваем у пользователя значение параметра
my_persistent_data[key] = value  # присваиваем в словарь значение по указанному ключу

with open(DATA_FILE_NAME, 'wb') as f:  # открываем файл на бинарную перезапись
    pickle.dump(my_persistent_data, f)  # сохраняем в файл данные из словаря (маршалинг)
Ответ написан
@vladqwelkj
По-хорошему - sqlite3, простая база данных, встроенная в python. Данные сохраняются в отдельном файле. Если речь об одном значении, можно по-костыльному в txt файле хранить.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы