Урок: Файловый ввод-вывод
Файловый ввод-вывод
Файловый ввод-вывод в Python позволяет читать данные из файлов и записывать данные в файлы. В этом уроке мы рассмотрим, как читать и записывать файлы, работать с текстовыми и бинарными файлами, а также использовать менеджеры контекста (with
).
Чтение и запись файлов
Python предоставляет встроенные функции для работы с файлами. Чтобы открыть файл, используйте функцию open()
, которая возвращает объект файла.
Пример записи в файл file = open("example.txt", "w") file.write("Hello, World!\n") file.write("This is a second line.\n") file.close()
Этот код открывает файл example.txt
в режиме записи (w
). Если файл не существует, он будет создан. С помощью метода write()
в файл записывается строка. После завершения записи файл закрывается методом close()
.
Пример чтения из файла file = open("example.txt", "r") content = file.read() print(content) file.close()
Этот код открывает файл example.txt
в режиме чтения (r
). Содержимое файла считывается с помощью метода read()
и выводится на экран. Затем файл закрывается.
Работа с текстовыми и бинарными файлами
Текстовые файлы содержат текстовые данные и могут быть прочитаны и записаны как строки.
Пример работы с текстовыми файлами with open("text_example.txt", "w") as file: file.write("This is a text file.\n") with open("text_example.txt", "r") as file: content = file.read() print(content) # Выводит: This is a text file.
Этот код использует менеджер контекста with
для автоматического открытия и закрытия файла. Файл text_example.txt
открывается в режиме записи, и в него записывается строка. Затем файл открывается в режиме чтения, и его содержимое выводится на экран.
Бинарные файлы содержат данные в двоичном формате и могут включать изображения, видео, аудио и другие форматы.
Пример работы с бинарными файлами with open("binary_example.bin", "wb") as file: file.write(b'\x00\x01\x02\x03') with open("binary_example.bin", "rb") as file: content = file.read() print(content) # Выводит: b'\x00\x01\x02\x03'
Этот код открывает файл binary_example.bin
в режиме записи в двоичном формате (wb
) и записывает в него байтовую строку. Затем файл открывается в режиме чтения в двоичном формате (rb
), и его содержимое выводится на экран.
Использование менеджеров контекста (with)
Менеджеры контекста (with
) обеспечивают правильное управление ресурсами, такими как файлы, автоматически закрывая их после завершения блока кода.
Пример использования менеджера контекста with open("example.txt", "r") as file: content = file.read() print(content)
Этот код открывает файл example.txt
в режиме чтения с использованием with
. Файл автоматически закрывается по завершении блока with
, даже если в блоке возникло исключение.
Практическое задание
- Создайте текстовый файл и запишите в него несколько строк.
- Прочитайте содержимое текстового файла и выведите его на экран.
- Создайте бинарный файл и запишите в него байтовые данные.
- Прочитайте содержимое бинарного файла и выведите его на экран.
- Используйте менеджер контекста для записи и чтения текстового файла.
Пример выполнения практического задания # Задание 1 with open("my_text_file.txt", "w") as file: file.write("Line 1\n") file.write("Line 2\n") file.write("Line 3\n") # Задание 2 with open("my_text_file.txt", "r") as file: content = file.read() print(content) # Выводит: # Line 1 # Line 2 # Line 3 # Задание 3 with open("my_binary_file.bin", "wb") as file: file.write(b'\x10\x20\x30\x40') # Задание 4 with open("my_binary_file.bin", "rb") as file: content = file.read() print(content) # Выводит: b'\x10\x20\x30\x40' # Задание 5 with open("my_context_text_file.txt", "w") as file: file.write("Using context manager.\n") with open("my_context_text_file.txt", "r") as file: content = file.read() print(content) # Выводит: Using context manager.
В первом задании создается текстовый файл и в него записываются несколько строк. Во втором задании содержимое текстового файла читается и выводится на экран. В третьем задании создается бинарный файл и в него записываются байтовые данные. В четвертом задании содержимое бинарного файла читается и выводится на экран. В пятом задании используется менеджер контекста для записи и чтения текстового файла.
Этот урок охватывает основные аспекты работы с файлами в Python, включая чтение и запись файлов, работу с текстовыми и бинарными файлами, а также использование менеджеров контекста для управления файлами. Практикуйтесь для лучшего понимания и освоения материала.