Практическое задание №3: Память и подтверждение действий: README.md
This commit is contained in:
+85
-72
@@ -1,109 +1,122 @@
|
||||
# Практическое задание №3
|
||||
**Тема:** Память и подтверждение действий
|
||||
# Практическое задание №3: Память и подтверждение действий
|
||||
|
||||
---
|
||||
## Описание
|
||||
В этом проекте реализована простая консольная программа, демонстрирующая работу с памятью и подтверждением пользовательских действий. Программа использует библиотеку **rich** для красивого вывода текста в терминале.
|
||||
|
||||
## Описание проекта
|
||||
|
||||
В этом проекте реализованы два простых скрипта, демонстрирующих работу с памятью (сохранением данных в файл) и механизмом подтверждения пользовательских действий.
|
||||
- **`memory.py`** – сохраняет введённые пользователем данные в JSON‑файл и умеет их загружать обратно.
|
||||
- **`confirm_action.py`** – запрашивает у пользователя подтверждение перед выполнением опасной операции (например, удаление файла).
|
||||
|
||||
---
|
||||
Основные возможности:
|
||||
- Запоминание введённых пользователем данных.
|
||||
- Подтверждение выполнения действия (например, удаление записи).
|
||||
- Интерактивный интерфейс с подсказками и цветным выводом.
|
||||
|
||||
## Установка зависимостей
|
||||
|
||||
Проект использует только стандартную библиотеку Python 3.x, поэтому дополнительных пакетов не требуется.
|
||||
|
||||
```bash
|
||||
# Если вы используете виртуальное окружение:
|
||||
# Создайте виртуальное окружение (необязательно)
|
||||
python -m venv .venv
|
||||
source .venv/bin/activate # Windows: .venv\Scripts\activate
|
||||
|
||||
# Установить зависимости (если они появятся в будущем)
|
||||
# Установите зависимости из requirements.txt
|
||||
pip install -r requirements.txt
|
||||
```
|
||||
|
||||
---
|
||||
`requirements.txt` содержит только одну строку:
|
||||
|
||||
## Запуск файлов
|
||||
```text
|
||||
rich>=13.0.0
|
||||
```
|
||||
|
||||
### 1. `memory.py`
|
||||
Скрипт демонстрирует сохранение и загрузку данных.
|
||||
## Запуск программы
|
||||
|
||||
В проекте есть два скрипта, которые можно запускать отдельно.
|
||||
|
||||
### 1. `memory_confirm.py`
|
||||
Главный файл приложения.
|
||||
|
||||
```bash
|
||||
python memory.py
|
||||
python memory_confirm.py
|
||||
```
|
||||
|
||||
Пример работы:
|
||||
После запуска вы увидите меню:
|
||||
|
||||
```
|
||||
Введите имя: Иван
|
||||
Введите возраст: 30
|
||||
Данные успешно сохранены в data.json.
|
||||
Загружаем данные...
|
||||
Имя: Иван, Возраст: 30
|
||||
[bold cyan]=== Меню ===[/]
|
||||
1. Добавить запись
|
||||
2. Показать все записи
|
||||
3. Удалить запись
|
||||
4. Выход
|
||||
Введите номер действия:
|
||||
```
|
||||
|
||||
### 2. `confirm_action.py`
|
||||
Скрипт запрашивает подтверждение перед удалением файла.
|
||||
Выберите нужный пункт, следуйте подсказкам.
|
||||
|
||||
### 2. `demo.py`
|
||||
Пример использования функций из проекта (можно использовать как модуль).
|
||||
|
||||
```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))
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Структура проекта
|
||||
|
||||
```
|
||||
project/
|
||||
├── memory.py
|
||||
├── confirm_action.py
|
||||
├── data.json # создаётся при первом запуске memory.py
|
||||
└── README.md
|
||||
```
|
||||
- `memory_confirm.py` – основной скрипт с интерактивным меню.
|
||||
- `demo.py` – демонстрационный скрипт, показывающий работу функций без пользовательского ввода.
|
||||
- `requirements.txt` – список зависимостей.
|
||||
|
||||
---
|
||||
|
||||
## Автор
|
||||
**Примечание:**
|
||||
Если вы используете Windows PowerShell, замените команду запуска на:
|
||||
|
||||
- **Имя Фамилия** – разработчик
|
||||
- Контакт: email@example.com
|
||||
```powershell
|
||||
python .\memory_confirm.py
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
*Если возникнут вопросы, обращайтесь в Issues.*
|
||||
Reference in New Issue
Block a user