Pull to refresh

Как читать текстовые файлы в Python?

Level of difficultyEasy
Reading time4 min
Views15K

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']

Желаю Вам успехов в обучении и надеюсь, что этот короткий гайд вам помог!

Tags:
Hubs:
Total votes 28: ↑11 and ↓17-4
Comments9

Articles