Пример 1. Базовый try/except
# example_01_basic.py
try:
result = 10 / 0
print("Эта строка не выполнится")
except ZeroDivisionError:
print("Ошибка: деление на ноль!")
print("Программа продолжает работу")
Пример 2. Полная конструкция
# example_02_full.py
try:
number = int(input("Введите число: "))
result = 10 / number
except ValueError:
print("Некорректное значение.")
except ZeroDivisionError:
print("Деление на ноль.")
else:
print(f"Результат: {result}")
finally:
print("Программа завершена.")
Пример 3. raise с обработкой
# example_03_raise.py
while True:
try:
number = int(input("Введите положительное число: "))
if number < 0:
raise ValueError("Число не может быть отрицательным")
print(f"Принято: {number}")
break
except ValueError as e:
print(f"Ошибка: {e}. Попробуйте снова.")
Пример 4. Логирование в файл
# example_04_logging.py
import logging
logging.basicConfig(
filename="app.log",
format="%(asctime)s - %(filename)s - %(lineno)d - %(levelname)s - %(message)s",
level=logging.ERROR,
)
try:
result = 10 / 0
except ZeroDivisionError as e:
logging.error(f"Ошибка при делении: {e}")
print("Произошла ошибка, подробности в app.log")
Пример 5. Работа с путями
# example_05_paths.py
import os
filename = "example.txt"
print("Существует:", os.path.exists(filename))
print("Это файл:", os.path.isfile(filename))
print("Абсолютный путь:", os.path.abspath(filename))
print("Имя файла:", os.path.basename("/home/user/docs/file.txt"))
print("Соединённый путь:", os.path.join("folder", "subfolder", "file.txt"))
Пример 6. Рекурсивный поиск файлов
# example_06_walk.py
import os
extension = ".txt"
for root, dirs, files in os.walk("."):
for file in files:
if file.endswith(extension):
full_path = os.path.join(root, file)
print(f"Найден файл: {full_path}")
Пример 7. Аргументы командной строки
# example_07_argv.py
import sys
print("Все аргументы:", sys.argv)
if len(sys.argv) != 2:
print("Использование: python example_07_argv.py <имя_файла>")
sys.exit(1)
target = sys.argv[1]
print(f"Ищем файл: {target}")
Пример 8. Чтение файла с обработкой ошибок
# example_08_read_file.py
import os
filename = "data.txt"
if not os.path.exists(filename):
print(f"Файл {filename} не найден.")
else:
try:
with open(filename, "r", encoding="utf-8") as file:
content = file.read()
print(content)
except UnicodeDecodeError as e:
print(f"Ошибка кодировки: {e}")
⚠️ Проверить по документации: менеджер контекста
with для работы с файлами не разбирается в исходной лекции, но является рекомендуемым способом гарантировать закрытие файла.
Как запустить в VS Code
- Создайте файл, например
summary_51_examples.py. - Скопируйте код одного из примеров.
- Откройте терминал в VS Code (Ctrl + `).
- Активируйте виртуальное окружение:
venv\Scripts\activate(Windows) илиsource venv/bin/activate(Mac/Linux). - Запустите:
python summary_51_examples.py