Назад в блог

Формат файлов txt: работа с простыми текстовыми файлами в Python 3

Формат файлов txt: работа с простыми текстовыми файлами в Python 3

Введение

Одна из основных функций языков программирования — помогать вам работать с данными. Это включает в себя запись, чтение, хранение, а также передачу данных.Python — один из самых популярных языков программирования. Если вы планируете использовать Python, вам следует иметь базовое представление о том, как работать с различными типами файлов. Самый простой тип файлов — это формат txt или обычный текстовый файл. Представьте, что у вас есть программа, которая проверяет пользователей для контроля доступа. Сам список будет сохранен в виде текстового файла. Таким образом, хотя для определенных корпораций вы можете использовать другую программу, значения вы будете извлекать из текстового документа. Вот почему важно понимать формат текстовых файлов.

В этом руководстве мы начнем с краткого обзора основных форматов файлов в Python. Затем мы узнаем, как открывать, читать и записывать текстовые файлы в программе.

Прежде чем мы начнем…

Перед тем как приступить к руководству, вам необходимо выполнить несколько предварительных условий. Во-первых, у вас уже должен быть установлен Python 3. Кроме того, вам понадобится локальная среда программирования на вашей системе. Это руководство применимо к Ubuntu 16.04 и выше, Debian 8, CentOS 7, Mac OS X и Windows 10.

Форматы файлов

В Python можно использовать различные форматы файлов. В таблице ниже перечислены все различные форматы и области их применения:

Тип файла Описание
txt Простой текстовый файл хранит данные, представляющие собой только символы (или строки), и не содержит структурированных метаданных.
CSV Файл со значениями, разделенными запятыми, использует запятые (или другие разделители) для структурирования хранимых данных, что позволяет сохранять данные в табличном формате.
HTML Файл языка гипертекстовой разметки хранит структурированные данные и обычно используется на большинстве веб-сайтов.
JSON JavaScript Object Notation — это простой и эффективный формат, что делает его одним из наиболее часто используемых форматов для хранения и передачи данных.

В этом руководстве мы более подробно рассмотрим формат файлов txt.

Шаг 1: Создание текстового файла

Сначала мы должны создать новый текстовый файл в Python. Для наглядности мы рассмотрим пример с днями недели. Для этого мы откроем текстовый редактор, создадим новый файл txt и назовем его days.txt. Далее давайте введем дни недели отдельными строками в новом файле:

Теперь, когда у нас есть содержимое, мы сохраним файл. Важно запомнить, куда именно вы сохраняете файл. Допустим, нашего пользователя зовут sammy. Пользователь сохранил файл по следующему пути: /users/sammy/days.txt. Мы будем использовать этот путь в последующих процессах.

Шаг 2: Открытие текстового файла

Прежде чем приступить к написанию программы, необходимо создать файл в редакторе. Мы создадим файл с именем files.py и сохраним его в каталоге /users/sammy так же, как и наш файл days.txt.

Чтобы открыть любой файл, необходимо установить связь между файлом на диске и переменной. Это и есть «открытие» файла. Местоположение файла указывается его путем. Для открытия файла вам понадобится этот путь. Например, путь к файлу days.txt следующий: /users/sammy/days.txt. Затем мы создадим строковую переменную для сохранения этих данных. Как вы увидите ниже, мы создадим переменную path в скрипте files.py и изменим значение переменной в соответствии с путем к days.txt:

После этого с помощью функции open() мы откроем файл days.txt. Для этой функции вам необходимо указать путь к файлу. Среди прочих параметров наиболее важным является параметр режима (mode). Это необязательная строка, которую можно добавить для указания режима открытия файла. Ниже приведены некоторые варианты режимов:

  • 'r’: чтение
  • 'w’: запись
  • 'x’: создание и запись нового файла
  • 'a’: добавление в конец файла
  • 'r+’: чтение и запись одного и того же файла

Чтобы просто прочитать данные из файла, вам нужно использовать режим 'r’. Запустите функцию open() и откройте файл days.txt. Затем присвойте его переменной days_file:

Шаг 3: Чтение текстового файла

После открытия файла мы можем читать из него через переменную. С чтением файлов связаны три операции. Давайте рассмотрим все три.

Первая операция — это <file>.read(). Она покажет вам все содержимое файла в виде одной строки:

Вывод:

Следующая операция — это <file>.readline(). Она покажет вам следующую строку в файле. По сути, она будет читать файл построчно:

Вывод:

Повторный вызов функции прочитает следующую строку в коде. Вы можете вызвать ее следующим образом:

Вывод:

Третья и последняя операция — это <file>.readlines(). Она покажет вам список всех строк в файле. Каждый элемент представляет собой одну строку:

Вывод:

Помните, что после того, как файл был прочитан, вы не можете прочитать его снова. Это применимо независимо от используемой вами функции. Чтобы прочитать файл снова с помощью другой операции, вы должны открыть новую переменную файла.

Шаг 4: Запись в файл

Далее мы научимся записывать новый файл. Этот файл в нашем примере будет содержать заголовок (Days of the Week), а затем последовательно дни недели.

Для начала мы должны создать переменную title:

Далее нам нужно сохранить дни недели в виде строковой переменной. Эта переменная будет называться days. Мы продолжим использовать код, который использовали на предыдущих шагах. Мы откроем файл в режиме чтения и сохраним вывод в нашу новую переменную days:

Это означает, что мы создали переменные как для заголовка, так и для отдельных дней недели. Теперь мы можем записать сам файл. Первым шагом является указание местоположения файла с использованием директории /users/sammy/. В пути вы также укажете новый файл: /users/sammy/new_days.txt. Путь к местоположению останется в переменной new_path. Далее откройте файл в режиме записи с помощью функции open() в режиме ‘w’:

Теперь, когда файл открыт, вы можете вводить данные с помощью функции записи <file>.write(). Здесь вам нужно ввести один строковый параметр. Если вы хотите ввести новую строку, введите символ новой строки. Для нашего файла мы сначала введем заголовок, а затем дни недели. Наряду с этим у нас также будут некоторые операторы вывода для отслеживания выполнения скрипта:

Шаг 5: Закрытие файла

Когда вы закрываете файл, вы разрываете связь между файлом на диске и файловой переменной. Когда файл закрыт, к нему могут получить доступ другие программы. Это также помогает обеспечить безопасность файла и его данных. Поэтому всегда помните о необходимости закрывать файлы после завершения их обработки. Для этого вы можете использовать функцию <file>.close():

На этом обработка файлов в Python завершена.

Шаг 6: Проверка кода

Наконец, мы проверим код. Вам следует сделать это перед запуском написанного вами кода. Код должен выглядеть примерно так:

После сохранения кода вам нужно запустить скрипт Python. Для этого вам нужно открыть терминал:

Он покажет следующий вывод:

Чтобы проверить свой код, откройте новый файл new_days.txt. Если все в порядке, вы увидите следующее:

Если вы видите что-то похожее на то, что указано выше, вы успешно выполнили все шаги.

Заключение

Цель этого руководства — познакомить вас с базовыми форматами файлов в Python 3. Одним из наиболее важных среди них является формат текстовых файлов. Мы изучили его более подробно. Теперь вы хорошо знакомы с процессом и шагами, связанными с открытием, чтением, записью и закрытием файлов данных. Используя эту информацию, вы сможете эффективно использовать формат текстовых файлов в своей практике программирования на Python.

Теперь, когда вы научились работать с простыми текстовыми файлами в Python, вот еще несколько руководств из нашего блога, которые помогут вам начать использовать Python:

Приятного программирования!

author

Hark Labs

Автор · CloudSigma

Preslav Dobrev — креативный дизайнер в CloudSigma, сосредоточенный на формировании последовательного корпоративного образа с помощью традиционных и инновационных маркетинговых каналов. Он умело сочетает художественное видение со стратегическим маркетингом, создавая убедительные истории бренда.

Комментарии

Комментариев пока нет. Будьте первым.