# Практическое задание №3 **Тема:** Память и подтверждение действий --- ## Описание проекта В этом проекте реализованы два простых скрипта, демонстрирующих работу с памятью (сохранением данных в файл) и механизмом подтверждения пользовательских действий. - **`memory.py`** – сохраняет введённые пользователем данные в JSON‑файл и умеет их загружать обратно. - **`confirm_action.py`** – запрашивает у пользователя подтверждение перед выполнением опасной операции (например, удаление файла). --- ## Установка зависимостей Проект использует только стандартную библиотеку Python 3.x, поэтому дополнительных пакетов не требуется. ```bash # Если вы используете виртуальное окружение: python -m venv .venv source .venv/bin/activate # Windows: .venv\Scripts\activate # Установить зависимости (если они появятся в будущем) pip install -r requirements.txt ``` --- ## Запуск файлов ### 1. `memory.py` Скрипт демонстрирует сохранение и загрузку данных. ```bash python memory.py ``` Пример работы: ``` Введите имя: Иван Введите возраст: 30 Данные успешно сохранены в data.json. Загружаем данные... Имя: Иван, Возраст: 30 ``` ### 2. `confirm_action.py` Скрипт запрашивает подтверждение перед удалением файла. ```bash python confirm_action.py path/to/file.txt ``` Пример работы: ``` Вы уверены, что хотите удалить файл 'file.txt'? (y/n): n Операция отменена. ``` --- ## Пример использования в коде ```python # memory_example.py from memory import MemoryHandler handler = MemoryHandler('data.json') handler.save({'name': 'Алексей', 'age': 25}) print(handler.load()) ``` ```python # confirm_example.py import sys from confirm_action import confirm_and_execute if len(sys.argv) != 2: print("Usage: python confirm_example.py ") sys.exit(1) file_path = sys.argv[1] confirm_and_execute(file_path, lambda p: os.remove(p)) ``` --- ## Структура проекта ``` project/ ├── memory.py ├── confirm_action.py ├── data.json # создаётся при первом запуске memory.py └── README.md ``` --- ## Автор - **Имя Фамилия** – разработчик - Контакт: email@example.com --- *Если возникнут вопросы, обращайтесь в Issues.*