Введение
Одна из основных функций языков программирования — помогать вам работать с данными. Это включает в себя запись, чтение, хранение, а также передачу данных.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. Далее давайте введем дни недели отдельными строками в новом файле:
|
1 2 3 4 5 6 7 |
Понедельник Вторник Среда Четверг Пятница Суббота Воскресенье |
Теперь, когда у нас есть содержимое, мы сохраним файл. Важно запомнить, куда именно вы сохраняете файл. Допустим, нашего пользователя зовут sammy. Пользователь сохранил файл по следующему пути: /users/sammy/days.txt. Мы будем использовать этот путь в последующих процессах.
Шаг 2: Открытие текстового файла
Прежде чем приступить к написанию программы, необходимо создать файл в редакторе. Мы создадим файл с именем files.py и сохраним его в каталоге /users/sammy так же, как и наш файл days.txt.
Чтобы открыть любой файл, необходимо установить связь между файлом на диске и переменной. Это и есть «открытие» файла. Местоположение файла указывается его путем. Для открытия файла вам понадобится этот путь. Например, путь к файлу days.txt следующий: /users/sammy/days.txt. Затем мы создадим строковую переменную для сохранения этих данных. Как вы увидите ниже, мы создадим переменную path в скрипте files.py и изменим значение переменной в соответствии с путем к days.txt:
|
1 |
path = '/users/sammy/days.txt' |
После этого с помощью функции open() мы откроем файл days.txt. Для этой функции вам необходимо указать путь к файлу. Среди прочих параметров наиболее важным является параметр режима (mode). Это необязательная строка, которую можно добавить для указания режима открытия файла. Ниже приведены некоторые варианты режимов:
'r’: чтение'w’: запись'x’: создание и запись нового файла'a’: добавление в конец файла'r+’: чтение и запись одного и того же файла
Чтобы просто прочитать данные из файла, вам нужно использовать режим 'r’. Запустите функцию open() и откройте файл days.txt. Затем присвойте его переменной days_file:
|
1 |
days_file = open(path,'r') |
Шаг 3: Чтение текстового файла
После открытия файла мы можем читать из него через переменную. С чтением файлов связаны три операции. Давайте рассмотрим все три.
Первая операция — это <file>.read(). Она покажет вам все содержимое файла в виде одной строки:
|
1 |
days_file.read() |
Вывод:
|
1 |
'Monday\nTuesday\nWednesday\nThursday\nFriday\nSaturday\nSunday\n' |
<file>.readline(). Она покажет вам следующую строку в файле. По сути, она будет читать файл построчно:|
1 |
days_file.readline() |
Вывод:
|
1 |
'Monday\n' |
|
1 |
days_file.readline() |
Вывод:
|
1 |
'Tuesday\n' |
<file>.readlines(). Она покажет вам список всех строк в файле. Каждый элемент представляет собой одну строку:|
1 |
days_file.readlines() |
Вывод:
|
1 |
['Monday\n', 'Tuesday\n', 'Wednesday\n', 'Thursday\n', 'Friday\n', 'Saturday\n', 'Sunday\n'] |
Шаг 4: Запись в файл
Далее мы научимся записывать новый файл. Этот файл в нашем примере будет содержать заголовок (Days of the Week), а затем последовательно дни недели.
Для начала мы должны создать переменную title:
|
1 |
title = 'Days of the Week\n' |
Далее нам нужно сохранить дни недели в виде строковой переменной. Эта переменная будет называться days. Мы продолжим использовать код, который использовали на предыдущих шагах. Мы откроем файл в режиме чтения и сохраним вывод в нашу новую переменную days:
|
1 2 3 |
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’:
|
1 2 |
new_path = '/users/sammy/new_days.txt' new_days = open(new_path,'w') |
Теперь, когда файл открыт, вы можете вводить данные с помощью функции записи <file>.write(). Здесь вам нужно ввести один строковый параметр. Если вы хотите ввести новую строку, введите символ новой строки. Для нашего файла мы сначала введем заголовок, а затем дни недели. Наряду с этим у нас также будут некоторые операторы вывода для отслеживания выполнения скрипта:
|
1 2 3 4 |
new_days.write(title) print(title) new_days.write(days) print(days) |
Шаг 5: Закрытие файла
Когда вы закрываете файл, вы разрываете связь между файлом на диске и файловой переменной. Когда файл закрыт, к нему могут получить доступ другие программы. Это также помогает обеспечить безопасность файла и его данных. Поэтому всегда помните о необходимости закрывать файлы после завершения их обработки. Для этого вы можете использовать функцию <file>.close():
|
1 2 |
days_file.close() new_days.close() |
На этом обработка файлов в Python завершена.
Шаг 6: Проверка кода
Наконец, мы проверим код. Вам следует сделать это перед запуском написанного вами кода. Код должен выглядеть примерно так:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
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 Week\n' new_days.write(title) print(title) new_days.write(days) print(days) days_file.close() new_days.close() |
После сохранения кода вам нужно запустить скрипт Python. Для этого вам нужно открыть терминал:
|
1 |
$ python files.py |
Он покажет следующий вывод:
|
1 2 3 4 5 6 7 8 9 |
Дни of the недели Понедельник Вторник Среда Четверг Пятница Суббота Воскресенье |
Чтобы проверить свой код, откройте новый файл new_days.txt. Если все в порядке, вы увидите следующее:
|
1 2 3 4 5 6 7 8 9 |
Дни of the недели Понедельник Вторник Среда Четверг Пятница Суббота Воскресенье |
Если вы видите что-то похожее на то, что указано выше, вы успешно выполнили все шаги.
Заключение
Цель этого руководства — познакомить вас с базовыми форматами файлов в Python 3. Одним из наиболее важных среди них является формат текстовых файлов. Мы изучили его более подробно. Теперь вы хорошо знакомы с процессом и шагами, связанными с открытием, чтением, записью и закрытием файлов данных. Используя эту информацию, вы сможете эффективно использовать формат текстовых файлов в своей практике программирования на Python.
Теперь, когда вы научились работать с простыми текстовыми файлами в Python, вот еще несколько руководств из нашего блога, которые помогут вам начать использовать Python:
- Использование форматирования строк в Python 3
- Циклы в Python 3: использование операторов break, continue и pass
- Python 3: руководство по преобразованию типов данных
- Как сканировать веб-страницы с помощью Scrapy и Python 3
Приятного программирования!
Комментарии
Комментариев пока нет. Будьте первым.