Практическое задание №3: Память и подтверждение действий: README.md

This commit is contained in:
2026-05-27 08:39:18 +00:00
parent 50eaa63fe5
commit e2e505de1c
@@ -1,109 +1,122 @@
# Практическое задание №3 # Практическое задание №3: Память и подтверждение действий
**Тема:** Память и подтверждение действий
--- ## Описание
В этом проекте реализована простая консольная программа, демонстрирующая работу с памятью и подтверждением пользовательских действий. Программа использует библиотеку **rich** для красивого вывода текста в терминале.
## Описание проекта Основные возможности:
- Запоминание введённых пользователем данных.
В этом проекте реализованы два простых скрипта, демонстрирующих работу с памятью (сохранением данных в файл) и механизмом подтверждения пользовательских действий. - Подтверждение выполнения действия (например, удаление записи).
- **`memory.py`** – сохраняет введённые пользователем данные в JSON‑файл и умеет их загружать обратно. - Интерактивный интерфейс с подсказками и цветным выводом.
- **`confirm_action.py`** – запрашивает у пользователя подтверждение перед выполнением опасной операции (например, удаление файла).
---
## Установка зависимостей ## Установка зависимостей
Проект использует только стандартную библиотеку Python 3.x, поэтому дополнительных пакетов не требуется.
```bash ```bash
# Если вы используете виртуальное окружение: # Создайте виртуальное окружение (необязательно)
python -m venv .venv python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate source .venv/bin/activate # Windows: .venv\Scripts\activate
# Установить зависимости (если они появятся в будущем) # Установите зависимости из requirements.txt
pip install -r requirements.txt pip install -r requirements.txt
``` ```
--- `requirements.txt` содержит только одну строку:
## Запуск файлов ```text
rich>=13.0.0
```
### 1. `memory.py` ## Запуск программы
Скрипт демонстрирует сохранение и загрузку данных.
В проекте есть два скрипта, которые можно запускать отдельно.
### 1. `memory_confirm.py`
Главный файл приложения.
```bash ```bash
python memory.py python memory_confirm.py
``` ```
Пример работы: После запуска вы увидите меню:
``` ```
Введите имя: Иван [bold cyan]=== Меню ===[/]
Введите возраст: 30 1. Добавить запись
Данные успешно сохранены в data.json. 2. Показать все записи
Загружаем данные... 3. Удалить запись
Имя: Иван, Возраст: 30 4. Выход
Введите номер действия:
``` ```
### 2. `confirm_action.py` Выберите нужный пункт, следуйте подсказкам.
Скрипт запрашивает подтверждение перед удалением файла.
### 2. `demo.py`
Пример использования функций из проекта (можно использовать как модуль).
```bash ```bash
python confirm_action.py path/to/file.txt python demo.py
``` ```
Пример работы: Он демонстрирует добавление и удаление записей без интерактивного меню.
## Пример использования
```text
$ python memory_confirm.py
[bold cyan]=== Меню ===[/]
1. Добавить запись
2. Показать все записи
3. Удалить запись
4. Выход
Введите номер действия: 1
Введите текст для сохранения: Hello, world!
[green]Запись успешно добавлена![/]
[bold cyan]=== Меню ===[/]
1. Добавить запись
2. Показать все записи
3. Удалить запись
4. Выход
Введите номер действия: 2
[bold magenta]Список записей:[/]
0: Hello, world!
[bold cyan]=== Меню ===[/]
1. Добавить запись
2. Показать все записи
3. Удалить запись
4. Выход
Введите номер действия: 3
Выберите индекс записи для удаления (0):
Подтвердите удаление (y/n): y
[red]Запись удалена.[/]
[bold cyan]=== Меню ===[/]
1. Добавить запись
2. Показать все записи
3. Удалить запись
4. Выход
Введите номер действия: 4
До свидания!
``` ```
Вы уверены, что хотите удалить файл '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 <file_path>")
sys.exit(1)
file_path = sys.argv[1]
confirm_and_execute(file_path, lambda p: os.remove(p))
```
---
## Структура проекта ## Структура проекта
``` - `memory_confirm.py` – основной скрипт с интерактивным меню.
project/ - `demo.py` – демонстрационный скрипт, показывающий работу функций без пользовательского ввода.
├── memory.py - `requirements.txt` – список зависимостей.
├── confirm_action.py
├── data.json # создаётся при первом запуске memory.py
└── README.md
```
--- ---
## Автор **Примечание:**
Если вы используете Windows PowerShell, замените команду запуска на:
- **Имя Фамилия** – разработчик ```powershell
- Контакт: email@example.com python .\memory_confirm.py
```
--- ---
*Если возникнут вопросы, обращайтесь в Issues.*