Работа с файлами

Обновлено: 2024-03-12
2 мин

Чтение файла

Чтобы прочитать файл в 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)