Работа с файлами
Содержание
Чтение файла
Чтобы прочитать файл в Python, вам нужно сначала открыть файл. Вы можете сделать это, используя функцию open()
. Эта функция принимает два аргумента: имя файла и режим открытия файла.
Режим открытия файла может быть “r” (чтение), “w” (запись) или “a” (добавление).
Пример, который читает файл “example.txt” в режиме чтения и выводит его содержимое на экран:
with open("example.txt", "r") as f:
content = f.read()
print(content)
Мы используем оператор with
, который автоматически закрывает файл после его использования. Функция read()
читает содержимое файла и возвращает его в виде строки.
Как читать файлы по частям
Если файл очень большой, то может быть более эффективным читать его по частям.
Самый простой способ читать файл по частям - использовать цикл. Для первого примера мы будем использовать цикл for:
handle = open("test.txt", "r")
for line in handle:
print(line)
handle.close()
Здесь мы открываем файл в дескрипторе в режиме “только чтение”, а затем используем цикл for для итерации по нему.
Вот пример, который читает файл по 100 байтов за раз:
with open("example.txt", "r") as f:
while True:
chunk = f.read(100)
if not chunk:
break
print(chunk)
Здесь мы используем цикл while
для чтения файла по частям. Функция read()
читает 100 байтов за раз и возвращает их в виде строки. Если возвращаемая строка пустая, значит, мы достигли конца файла, и мы выходим из цикла.
Запись файлов
Чтобы записать данные в файл в Python, вам также нужно открыть файл с помощью функции open()
, но в режиме записи (“w”) или добавления (“a”). Затем вы можете записать данные в файл, используя функцию write()
.
Вот пример, который записывает строку в файл “example.txt”:
with open("example.txt", "w") as f:
f.write("Hello, world!")
Здесь мы используем функцию write()
, чтобы записать строку в файл.
Использование оператора with
В Python есть небольшой встроенный оператор with, который можно использовать для упрощения чтения и записи файлов. Оператор with создает то, что в Python известно как менеджер контекста, который автоматически закроет файл, когда вы закончите его обработку. Давайте посмотрим, как это работает:
with open("test.txt") as file_handler:
for line in file_handler:
print(line)