🏁 Тест по пройденному материалу
Выберите правильный вариант ответа. Решения и пояснения — на странице Решения.
Вопрос 1. Какой результат выведет код?
try:
d = {"a": 1, "b": 2}
print(d["c"])
except IndexError:
print("Ключ не найден")
except Exception:
print("Ошибка")
- Ключ не найден
- Ошибка
- Программа завершится с ошибкой
- Ничего не произойдёт
Вопрос 2. Какой результат выведет код?
try:
num = int("hello")
except ValueError:
print("Ошибка преобразования", end=" | ")
finally:
print("Блок finally")
- Ошибка преобразования
- Блок finally
- Ошибка преобразования | Блок finally
- Программа завершится с ошибкой
Вопрос 3. Какой результат выведет код?
try:
print("Начало")
raise ValueError
except ZeroDivisionError:
print("Ошибка деления на ноль")
except Exception:
print("Общее исключение")
finally:
print("Блок finally")
- Начало | Ошибка деления на ноль | Блок finally
- Начало | Блок finally
- Начало | Общее исключение
- Начало | Общее исключение | Блок finally
Вопрос 4. Какой блок выполняется всегда, независимо от наличия исключений?
- try
- except
- else
- finally
Вопрос 5. Какой параметр logging.basicConfig() задаёт формат вывода логов?
- filename
- level
- format
- log_format
Вопрос 6. Какой символ обозначает родительскую директорию?
- \
- /
- .
- ..
Вопрос 7. Какой метод проверяет существование пути?
- os.exists(path)
- os.file_exists(path)
- os.path.exists(path)
- os.is_file(path)
Вопрос 8. Какой метод создаст вложенные директории, если их ещё нет?
- os.mkdir(path)
- os.makedirs(path, exist_ok=True)
- os.create_directories(path)
- os.create_folders(path)
Вопрос 9. Как переименовать файл old.txt в new.txt?
- os.rename("old.txt", "new.txt")
- os.move("old.txt", "new.txt")
- os.change_name("old.txt", "new.txt")
- os.rename_file("old.txt", "new.txt")
Вопрос 10. Какой метод возвращает только имя файла из полного пути?
- os.path.split(path)
- os.path.basename(path)
- os.path.dirname(path)
- os.path.getfilename(path)
Вопрос 11. Какие утверждения о os.path.join() верны?
- Он корректно соединяет пути независимо от операционной системы.
- Он позволяет избежать ошибок при ручном объединении путей.
- Он изменяет текущую директорию.
- Он создаёт новый файл или папку.
Вопрос 12. Что напечатает код при запуске python script.py?
import sys
if len(sys.argv) > 1:
print(sys.argv[1])
else:
print("Нет аргументов")
- script.py
- script.py Нет аргументов
- Нет аргументов
- Ошибка выполнения
🏋️ Мини-задачи
Мини-задача 1. Поиск текстовых файлов
Напишите скрипт, который принимает путь к директории через sys.argv, рекурсивно ищет все файлы с расширением .txt и выводит их полные пути. Если директория не существует, выведите понятное сообщение.
Пример запуска:
python find_txt.py /home/user/docs
Мини-задача 2. Безопасное преобразование с логированием
Напишите функцию safe_int(value: str), которая пытается преобразовать строку в целое число. При успехе возвращает число, при ошибке ValueError записывает сообщение в файл conversion.log и возвращает None.
Пример:
print(safe_int("42")) # 42
print(safe_int("abc")) # None, ошибка записана в conversion.log