Сгенерируй тест для школьников с учетом следующих параметров: 1. Предмет: Информатика 2. Тема теста: Операции с файлами и пакпами 3. Класс учеников: 10 4. Типы вопросов в тесте: Открытый вопрос 5. Количество вопросов: 5 6. Выводить ли тест с ответами: Да
Ответ нейросети
28 сентября 2025 17:47
Ниже представлен тест по информатике для 10 класса на тему: Операции с файлами и пакетами. Тип вопросов — открытый. Всего 5 вопросов. В конце каждого вопроса даны примеры ответов.
- Вопрос 1 Объясните различия между текстовыми и двоичными файлами. Какие режимы открытия файла в Python существуют для чтения и записи текстовых и двоичных данных? Как кодировка влияет на обработку текстовых файлов? Что произойдет, если открыть несуществующий файл в режиме 'r' и в режиме 'w'? Приведите примеры кода.
Ответ:
- Текстовые файлы содержат текстовую информацию и работают с кодировкой (например UTF-8). Двоичные файлы содержат сырые байты и не применяют кодировку к данным.
- В Python режимы: для чтения и записи текстовых данных: 'r' (чтение), 'w' (запись с обнулением), 'a' (добавление), также 'x' для эксклюзивного создания. Для двоичных данных добавляются суффиксы 'b': 'rb', 'wb', 'ab', 'xb'. По умолчанию режим текстовый ('t'), можно явно указать 'rt' или 'wt'.
- Кодировка влияет на преобразование байтов в строки и обратно. При чтении текстового файла данные декодируются в строки согласно указанной кодировки (например encoding='utf-8'). При записи строки кодировка применяется к байтам.
- Поведение при открытии несуществующего файла:
- 'r': FileNotFoundError (файл не существует).
- 'w': создаётся новый файл (если не существует) и файл пустится (текущие данные будут удалены).
- Примеры кода:
Текстовый файл — запись
with open('example.txt', 'w', encoding='utf-8') as f: f.write('Привет, мир!\n')
Текстовый файл — чтение
with open('example.txt', 'r', encoding='utf-8') as f: s = f.read()
Двоичный файл — запись
with open('data.bin', 'wb') as f: f.write(b'\xDE\xAD\xBE\xEF')
Двоичный файл — чтение
with open('data.bin', 'rb') as f: data = f.read()
- Вопрос 2 Опишите методы чтения файла при работе с большими файлами: по строкам, по блокам, через чтение всего файла. Какие преимущества у каждого метода? Напишите примеры кода на Python, показывающие чтение файла построчно и чтение по блокам 4096 байт.
Ответ:
- Чтение по строкам (итератор по файлу): читает файл построчно, экономит память, подходит для обработки больших текстовых файлов.
- Чтение по блокам (функция read с заданным размером): считывает данные порциями фиксированного размера (байты или символы). Подходит для бинарных файлов или когда нужно контролировать размер буфера.
- Чтение всего файла сразу: читает все данные в память. Подходит только для небольших файлов; небезопасно для больших.
- Примеры кода:
Построчное чтение (память экономится)
with open('large.txt', 'r', encoding='utf-8') as f: for line in f: process(line) # ваша обработка
Чтение по блокам (например, 4096 байт)
with open('large.bin', 'rb') as f: while True: chunk = f.read(4096) if not chunk: break process_bytes(chunk)
Чтение всего файла (не рекомендуется для больших файлов)
with open('small.txt', 'r', encoding='utf-8') as f: all_text = f.read()
- Вопрос 3 Что такое пакет (package) в Python? Чем он отличается от модуля? Как создать пакет, какие файлы необходимы, как импортировать модули внутри пакета, как выполнять относительный импорт? Приведите пример простой структуры пакета и импортов.
Ответ:
- Модуль — файл .py, содержащий код (функции, классы и т.д.).
- Пакет — директория, которая содержит модуль(и) и файл init.py; пакет позволяет организовать модули в иерархию и импортировать их как целостную единицу.
- Необходимо: создать директорию пакета, внутри поместить файлы модулей и файл init.py (можно пустой). Файл init.py делает директорию пакетом и может выполнять инициализацию.
- Импорт внутри пакета и относительные импорты:
- Внешний/абсолютный импорт: import my_pkg.util as util, from my_pkg.subpkg import io
- Внутренний/относительный импорт внутри пакета: from . import helper или from ..parent import something
- Пример структуры:
Проект: my_pkg/ init.py util.py subpkg/ init.py io.py
Пример использования: import my_pkg.util as util from my_pkg.subpkg import io util.some_function() io.read_data()
Примечание: чтобы пакет был доступен, родительский каталог (где находится my_pkg) должен находиться в sys.path или пакет должен быть установлен в окружение.
- Вопрос 4 Операции с путями и файловой системой: как с помощью Python создать директорию, проверить её существование, скопировать/переместить файл, удалить файл или директорию. Приведите пример использования pathlib для этих задач.
Ответ:
- Создание директории: Path.mkdir(...)
- Проверка существования: Path.exists() или Path.is_dir()
- Копирование/перемещение файлов: shutil.copy2(...) и shutil.move(...)
- Удаление: Path.unlink() для файла, rmdir() или shutil.rmtree() для директорий
- Пример с использованием pathlib и shutil:
from pathlib import Path import shutil
создать директорию
backup_dir = Path('backup') backup_dir.mkdir(exist_ok=True)
копировать файл в директорию backup
src = Path('data.txt') if src.exists(): shutil.copy2(src, backup_dir / src.name)
переместить файл в другую директорию
dest_dir = Path('archive') dest_dir.mkdir(exist_ok=True) source_file = Path('log.txt') if source_file.exists(): shutil.move(str(source_file), dest_dir / source_file.name)
удалить файл
to_delete = Path('old.txt') if to_delete.exists(): to_delete.unlink()
удалить не пустую директорию
to_remove = Path('tmp_dir') if to_remove.exists(): shutil.rmtree(to_remove)
- Вопрос 5 Обработка ошибок и менеджеры контекста при работе с файлами: зачем использовать with; какие исключения нужно обрабатывать; напишите пример чтения файла с обработкой FileNotFoundError и PermissionError.
Ответ:
- Менеджер контекста with гарантирует закрытие файла после выполнения блока кода, даже если произошла ошибка.
- В работе с файлами часто возникают исключения FileNotFoundError (файл не найден), PermissionError (нет прав доступа), OSError/IOError и другие.
- Пример с обработкой исключений:
try: with open('config.txt', 'r', encoding='utf-8') as f: data = f.read() except FileNotFoundError: print('Файл не найден: config.txt') except PermissionError: print('Недостаточно прав для чтения config.txt') except OSError as e: print(f'Ошибка ввода-вывода: {e}') else: # обработка data, если файл успешно считан process_config(data)
Примечание для учителя/проверяющего:
- Можно допустить небольшие вариации формулировок и примеры кода, главное, чтобы ответы демонстрировали понимание различий между текстовыми и двоичными файлами, работа с режимами, чтение больших файлов, структура пакетов, манипуляции путями через pathlib и обработку ошибок.
Понравился ответ?
Задай свой вопрос
Напиши любую задачу или вопрос, а нейросеть её решит



