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)


  1. Daniel217D
    10.08.2024 16:48
    +3

    А где тут ООП? В тегах есть, в статье нет


    1. vadimr
      10.08.2024 16:48

      Ну методы же вызываются.


  1. Wiggin2014
    10.08.2024 16:48
    +7

    В Python файл останется открытым до тех пор, пока вы не закроете файл с помощью функции close(). Хорошей практикой является выполнение этой операции после чтения данных из файла, поскольку это освобождает пространство памяти, занимаемое этим файлом.

    Хорошей практикой является использование контекст менеджера... А так-то эта статья непонятно для кого. Одна страница из любого мануала


    1. dyadyaSerezha
      10.08.2024 16:48

      Да и "освобождает пространство памяти, занимаемое этим файлом" крайне невнятно. Судя по коду, автор думает, что освобождаются считанные строки - он сначала выводит в консоль всё считанное и только потом закрывает файл, что методологически неверно. Файл надо закрывать сразу, как он перестаёт быть нужен.


  1. mentin
    10.08.2024 16:48
    +9

    Очередная "статья" от ChatGPT?


    1. dyadyaSerezha
      10.08.2024 16:48
      +1

      Да не, ChatGPT написал бы гораздо лучше.


  1. BenGunn
    10.08.2024 16:48

    Похоже это юмор какой то. Да?


  1. Yoti
    10.08.2024 16:48

    Ещё нужна статья, как этот ваш Питон вообще включить.


  1. Rapira2388
    10.08.2024 16:48

    Ну так можно почитать память освежить, спасибо. Я после python начал другой язык изучать, некоторые вещи уже из головы повылетали. Но Python классный язык:)