Таких скидок больше не будет!

осталось мест 57
Новая Школа - онлайн-школа подготовки к ЕГЭ
При поддержке
Посмотреть все тесты нейросети

Тест на тему Операции с файлами и пакпами

28 сентября 2025 17:47

{Другой предмет}
10 Класс

Этот тест сгенерирован искусственным интеллектом. Возможны ошибки.

Сгенерировать свой тест

Ниже представлен тест по информатике для 10 класса на тему: Операции с файлами и пакетами. Тип вопросов — открытый. Всего 5 вопросов. В конце каждого вопроса даны примеры ответов.

  1. Вопрос 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()

  1. Вопрос 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()

  1. Вопрос 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 или пакет должен быть установлен в окружение.

  1. Вопрос 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)

  1. Вопрос 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 и обработку ошибок.

Сгенерировать свой тест

Популярные тесты

{Другой предмет}
8 Класс
{Другой предмет}
4 Класс
{Другой предмет}
4 Класс
{Другой предмет}
4 Класс

Саша — ассистент в телеграмме