Как обрабатывать обычные текстовые файлы в Python 3

Независимо от того, какое приложение вы используете, гарантировано, что в процессе его работы будет задействован ввод или отображение данных. В этом руководстве кратко описываются форматы, которые может обрабатывать Python. Далее мы рассмотрим, как открывать, считывать и записать текстовый файл в Python 3.

Исходные ресурсы

Для этого руководства необходимо установить Python 3. Также на компьютере должна быть установлена локальная среда программирования.

Основа

Python может с относительной легкостью обрабатывать разные форматы файлов:

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

В данной статье основное внимание будет уделено формату txt.

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

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

days.txt

MondayTuesdayWednesdayThursdayFridaySaturdaySunday

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

Шаг 2 — Открытие файла

Прежде чем написать программу, необходимо создать файл для кода Python. При помощи текстового редактора создадим файл files.py. Чтобы упростить задачу, сохраните его в том же каталоге, что и файл days.txt:

/users/sammy/.

Чтобы открыть файл, сначала необходимо каким-то образом связать его с переменной в Python. Этот процесс называется открытием файла. Сначала мы укажем Python, где находится файл.

Чтобы Python мог открыть файл, ему требуется путь к нему: days.txt -/users/sammy/days.txt. Далее создаем строковую переменную для хранения данной информации. В нашем скрипте files.py мы создадим переменную path и установим для нее значение days.txt.

files.py

path = '/users/sammy/days.txt'

Далее используем возможность Python open(), чтобы открыть файл days.txt. В виде первого аргумента она принимает путь к файлу.

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

Вот некоторые из существующих режимов:

  • ‘r’: использовать для чтения;
  • ‘w’: использовать для записи;
  • ‘x’: использование для создания и записи в новый файл;
  • ‘a’: использование для добавления к файлу;
  • ‘r +’: использовать для чтения и записи в тот же файл.

В текущем примере необходимо только считать данные из файла, так что будем использовать режим «r». Применим возможность open(), чтобы открыть файл days.txt и назначить его переменной days_file.

files.py

days_file = open(path,'r')

После открытия файла мы сможем прочитать его, что сделаем на следующем шаге.

Шаг 3 — Чтение файла

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

Первая операция <file>.read() возвращает все содержимое файла как одну строку.

days_file.read()Отображение'MondaynTuesdaynWednesdaynThursdaynFridaynSaturdaynSundayn'

Вторая операция <file>.readline() возвращает следующую строку файла(текст до следующего символа новой строки, включая сам символ). Проще говоря, эта операция считывает файл по частям.

days_file.readline()Отображение'Mondayn'

Так что, когда вы прочтете строку при помощи readline, она перейдет к следующей строке. Если вы снова вызовете эту операцию, она вернет следующую строку, прочитанную в файле.

days_file.readline()Отображение'Tuesdayn'

Последняя операция, <file>.readlines(), возвращает список строк в файле. При этом каждый элемент списка представляет собой одну строку.

days_file.readlines()Отображение['Mondayn', 'Tuesdayn', 'Wednesdayn', 'Thursdayn', 'Fridayn', 'Saturdayn', 'Sundayn']

Как только файл был прочитан с использованием одной из операций, его нельзя прочитать снова. К примеру, если вы запустите days_file.read(), за которой следует days_file.readlines(), вторая операция вернет пустую строку. Так что, когда вы захотите прочитать содержимое файла, вам необходимо будет сначала открыть новую файловую переменную.

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

На этом этапе мы запишем новый файл, который содержит название «Days of the Week», и дни недели. Сначала создадим переменную title.

files.py

title = 'Days of the Weekn'

Также необходимо сохранить дни недели в строковой переменной days. Открываем файл в режиме чтения, считываем файл и сохраняем отображение в новую переменную days.

files.py

path = '/users/sammy/days.txt'days_file = open(path,'r')days = days_file.read()

Сейчас, когда у нас есть переменные для названия и дней недели, запишем их в новый файл. Сначала необходимо указать расположение файла. Мы будем использовать каталог /users/sammy/. Также необходимо указать новый файл, который мы хотим создать. Фактический путь будет /users/sammy/new_days.txt. Мы записываем его в переменную new_path. Далее открываем новый файл в режиме записи, используя возможность open() с режимом w.

files.py

new_path = '/users/sammy/new_days.txt'new_days = open(new_path,'w')

Если файл new_days.txt существовал до открытия, его содержимое будет удалено, так что будьте осторожны при использовании режима «w».

Когда новый файл будет открыт, поместим в него данные, используя <file>.write(). Операция write принимает один настройка, который должен быть строкой, и записывает эту строку в файл.

Если хотели бы записать новую строку в файл, необходимо указать символ новой строки. Мы записываем в файл заголовок, за которым следуют дни недели.

iles.py

new_days.write(title)print(title)new_days.write(days)print(days)

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

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

Закрытие файла деактивирует соединение между файлом, сохраненным на жестком диске, и файловой переменной. Закрытие файлов также гарантирует, что иные программы смогут приобрести к ним доступ и безопасно сохранить данные. Закроем все наши файлы, используя возможность <file>.close().

files.py

days_file.close()new_days.close()

Мы закончили обработку файлов в Python и можем перейти к просмотру кода.

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

Конечный результат должен выглядеть примерно так:

files.py

path = '/users/sammy/days.txt'days_file = open(path,'r')days = days_file.read()new_path = '/users/sammy/new_days.txt'new_days = open(new_path,'w')title = 'Days of the Weekn'new_days.write(title)print(title)new_days.write(days)print(days)days_file.close()new_days.close()

После сохранения кода откройте терминал и запустите Python- скрипт, например: python files.py

Результат должен выглядеть так:

ВыводDays of the WeekMondayTuesdayWednesdayThursdayFridaySaturdaySunday

Сейчас проверим код в полном объеме, открыв файл new_days.txt. Если все пройдет отлично, когда мы откроем этот файл, его содержимое должно выглядеть следующим образом:

new_days.txt

Days of the WeekMondayTuesdayWednesdayThursdayFridaySaturdaySunday

Заключение

В данной статье мы рассказали, как работать с простыми текстовыми файлами в Python 3. Сейчас вы сможете открывать, считывать, записывать и закрывать файлы в Python.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *