Python предоставляет множество встроенных функций для выполнения различных операций с файлами, таких как создание, чтение и запись в текстовые файлы. Python может обрабатывать в основном два типа файлов: обычные текстовые файлы и бинарные файлы. В этом гайде мы разберемся, как читать текстовые файлы в Python.
Для чтения текстового файла в Python необходимо выполнить следующие шаги:
Шаг 1: Файл необходимо открыть для чтения с помощью метода open() и передать путь к файлу в функцию.
Шаг 2: Следующий шаг — чтение файла, и это можно сделать с помощью нескольких встроенных методов, таких как read(), readline(), readlines().
Шаг 3: После выполнения операции чтения, текстовый файл необходимо закрыть с помощью функции close().
Теперь, когда мы рассмотрели шаги для чтения содержимого файла, давайте разберемся с каждым из этих методов, прежде чем переходить к примерам.
Функция open() в Python
Функция open() открывает файл, если это возможно, и возвращает соответствующий объект файла.
Синтаксис выглядит так: open(file, mode=’r’, buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
Функция open() имеет много параметров. Давайте рассмотрим самые необходимые параметры для чтения текстового файла. Данная функция открывает файл в заданном режиме и возвращает объект файла.
Параметры
file – объект, который представляет путь к файлу
mode (опционально) – является необязательным параметром. Это строка, которая указывает режим, в котором вы хотите открыть файл.
Режим |
Описание |
'r' |
Открыть файл для чтения (если режим прямо не задан, то это режим используется по умолчанию). |
'w' |
Открыть файл для записи. Python создаст новый файл, если он не существует, или очистит содержимое файла, если он существует. |
'x' |
Открыть файл для эксклюзивного создания. (Если файл уже существует - исключение). |
'a' |
Открыть файл для добавления текста. Создает новый файл, если файл не существует. |
't' |
Открыть файл в текстовом режиме. (режим по умолчанию) |
'b' |
Открыть файл в бинарном режиме. |
'+' |
Открыть файл для обновления (чтение и запись). |
Пример
file = open('C:\hellouser.txt','r')
Методы чтения содержимого файла
Существует три способа чтения данных из текстового файла.
read() : Функция read() возвращает прочитанные символы в виде строки. Этот метод хорош, когда у вас небольшой файл, и вы хотите прочитать определенное количество символов или весь файл и сохранить их в строковой переменной.
readline() : Функция **readline() **возвращает одну строку из текстового файла в виде строки.
readlines(): Функция **readlines() **считывает все строки из текстового файла и возвращает каждую строку как строковый элемент в списке.
Функция Python close()
В Python файл останется открытым до тех пор, пока вы не закроете файл с помощью функции close(). Хорошей практикой является выполнение этой операции после чтения данных из файла, поскольку это освобождает пространство памяти, занимаемое этим файлом.
Примеры чтения текстового файла в Python
Пример 1 — чтение текстового файла с помощью функции read()
В приведенном ниже примере мы читаем весь текстовый файл с помощью метода read(). Файл можно открыть в режиме чтения или в текстовом режиме для чтения данных, и его можно сохранить в строковой переменной.
# Программа для чтения всего файла с использованием функции read()
file = open("hellouser.txt", "r")
content = file.read()
print(content)
file.close()
# Программа для чтения всего файла (полный путь) с помощью функции read()
file = open("C:/Projects/Pythontextreading/hellouser.txt", "r")
content = file.read()
print(content)
file.close()
Результат
Dear User,
Welcome to this guide!
Thank you for reading.
I hope it is helpful for you!
Kind regards,
Valentin Shashkin
Пример 2 – Чтение определенного количества символов в текстовом файле с помощью функции read()
Иногда вам необходимо прочитать определенное количество символов в файле. В этом случае вы можете использовать функцию read(), указав количество символов, которое необходимо. Метод выведет только указанное количество символов в файле, как показано ниже.
# Программа для чтения определенного количества
# символов в файле с помощью функции read()
file = open("hellouser.txt", "r")
content = file.read(20)
print(content)
file.close()
Результат
Dear User,
Welcome
Пример 3 – Чтение одной строки в файле с помощью функции readline()
Если вам необходимо прочитать только одну строку в файле, то вы можете сделать это с помощью функции readline(). Вы также можете использовать этот метод для извлечения определенного количества символов в строке, аналогично методу read().
# Программа для чтения одной строки в файле с помощью
file = open("hellouser.txt", "r")
content = file.readline()
print(content)
file.close()
Результат
Dear User,
Пример 4. Чтение текстового файла построчно с помощью функции readline()
Если вы хотите пройти по файлу построчно и вывести в любом формате, то вы можете использовать цикл while с методом readline(), как показано ниже. Это наиболее эффективный способ чтения текстового файла построчно в Python.
# Программа для чтения всех строк в файле с помощью функции readline()
file = open("hellouser.txt", "r")
while True:
content=file.readline()
if not content:
break
print(content)
file.close()
Результат
Dear User,
Welcome to this guide!
Thank you for reading.
I hope it is helpful for you!
Kind regards,
Valentin Shashkin
Пример 5 – Прочитать все строки в виде списка в файле с помощью функции readlines()
Метод readlines() прочитает все строки в файле и выведет строки в виде списка, как показано ниже. Далее, вы сможете проходить по этому списку для извлечения требуемого содержимого.
# Программа для чтения всех строк в виде списка в файле
# с использованием функции readlines()
file = open("hellouser.txt", "r")
content=file.readlines()
print(content)
file.close()
Результат
['Dear User,\n', 'Welcome to this guide!\n', 'Thank you for reading.\n', 'I hope it is helpful for you!\n', 'Kind regards,\n', 'Valentin Shashkin']
Желаю Вам успехов в обучении и надеюсь, что этот короткий гайд вам помог!
Комментарии (9)
Wiggin2014
10.08.2024 16:48+7В Python файл останется открытым до тех пор, пока вы не закроете файл с помощью функции close(). Хорошей практикой является выполнение этой операции после чтения данных из файла, поскольку это освобождает пространство памяти, занимаемое этим файлом.
Хорошей практикой является использование контекст менеджера... А так-то эта статья непонятно для кого. Одна страница из любого мануала
dyadyaSerezha
10.08.2024 16:48Да и "освобождает пространство памяти, занимаемое этим файлом" крайне невнятно. Судя по коду, автор думает, что освобождаются считанные строки - он сначала выводит в консоль всё считанное и только потом закрывает файл, что методологически неверно. Файл надо закрывать сразу, как он перестаёт быть нужен.
Rapira2388
10.08.2024 16:48Ну так можно почитать память освежить, спасибо. Я после python начал другой язык изучать, некоторые вещи уже из головы повылетали. Но Python классный язык:)
Daniel217D
А где тут ООП? В тегах есть, в статье нет
vadimr
Ну методы же вызываются.