Работа с текстовыми файлами python примеры программ

Чтобы открыть текстовый файл на запись, необходимо применить режим w (перезапись) или a (дозапись). Затем для записи применяется метод write(str) , в который передается записываемая строка. Стоит отметить, что записывается именно строка, поэтому, если нужно записать числа, данные других типов, то их предварительно нужно конвертировать в строку.

Запишем некоторую информацию в файл «hello.txt»:

with open(«hello.txt», «w») as file: file.write(«hello world»)

Если мы откроем папку, в которой находится текущий скрипт Python, то увидем там файл hello.txt. Этот файл можно открыть в любом текстовом редакторе и при желании изменить.

Теперь дозапишем в этот файл еще одну строку:

with open(«hello.txt», «a») as file: file.write(«ngood bye, world»)

Дозапись выглядит как добавление строку к последнему символу в файле, поэтому, если необходимо сделать запись с новой строки, то можно использовать эскейп-последовательность «n». В итоге файл hello.txt будет иметь следующее содержимое:

Python — Работа с Файлами, Создание, чтение, запис, добавление и пример анализа данных


hello world good bye, world

Еще один способ записи в файл представляет стандартный метод print() , который применяется для вывода данных на консоль:

with open(«hello.txt», «a») as hello_file: print(«Hello, world», file=hello_file)

Для вывода данных в файл в метод print в качестве второго параметра передается название файла через параметр file. А первый параметр представляет записываемую в файл строку.

Чтение файла

Для чтения файла он открывается с режимом r (Read), и затем мы можем считать его содержимое различными методами:

  • readline() : считывает одну строку из файла
  • read() : считывает все содержимое файла в одну строку
  • readlines() : считывает все строки файла в список

Например, считаем выше записанный файл построчно:

with open(«hello.txt», «r») as file: for line in file: print(line, end=»»)

Несмотря на то, что мы явно не применяем метод readline() для чтения каждой строки, но в при переборе файла этот метод автоматически вызывается для получения каждой новой строки. Поэтому в цикле вручную нет смысла вызывать метод readline. И поскольку строки разделяются символом перевода строки «n», то чтобы исключить излишнего переноса на другую строку в функцию print передается значение end=»» .

Теперь явным образом вызовем метод readline() для чтения отдельных строк:

with open(«hello.txt», «r») as file: str1 = file.readline() print(str1, end=»») str2 = file.readline() print(str2)
hello world good bye, world

Метод readline можно использовать для построчного считывания файла в цикле while:

with open(«hello.txt», «r») as file: line = file.readline() while line: print(line, end=»») line = file.readline()

Если файл небольшой, то его можно разом считать с помощью метода read() :

Уроки Python / Работа с файлами чтение из файлов


with open(«hello.txt», «r») as file: content = file.read() print(content)

И также применим метод readlines() для считывания всего файла в список строк:

Читайте также:
Программа для улучшения качества звука на видеозаписи

with open(«hello.txt», «r») as file: contents = file.readlines() str1 = contents[0] str2 = contents[1] print(str1, end=»») print(str2)

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

filename = «hello.txt» with open(filename, encoding=»utf8″) as file: text = file.read()

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

# имя файла FILENAME = «messages.txt» # определяем пустой список messages = list() for i in range(4): message = input(«Введите строку » + str(i+1) + «: «) messages.append(message + «n») # запись списка в файл with open(FILENAME, «a») as file: for message in messages: file.write(message) # считываем сообщения из файла print(«Считанные сообщения») with open(FILENAME, «r») as file: for message in file: print(message, end=»»)

Пример работы программы:

Введите строку 1: hello Введите строку 2: world peace Введите строку 3: great job Введите строку 4: Python Считанные сообщения hello world peace great job Python

Источник: metanit.com

[ Сборник задач ]
Тема 14. Работа с файлами

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

Вопросы и ответы
5 вопросов по теме «Работа с файлами» + ответы
Условия задач
5 задач по теме двух уровней сложности: Базовый и *Продвинутый
Решения задач

Приводим код решений указанных выше задач

One

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

При работе с файлами в Python используется ряд функций и методов:
— функция open() — открывает файл для чтения, записи, добавления нового содержимого. Может принимать дополнительные параметры: для задания режима открытия, указания кодировки, вывода ошибок и др. Возвращает дескриптор файла, который обязательно нужно закрыть, иначе файл останется в памяти. Дескриптор в данном случае представляет собой путь к документу в виде строки;
— функция close() — закрывает файловый объект;
— инструкция with (позволяет автоматически закрывать файловый объект после работы с ним);
— метод read() — для чтения содержимого документа;
— метод readlines() — преобразует все строки файла в список;
— метод readline() — построчно выводит данные файла (удобно при работе с массивными документами);
— метод write() — записывает новую информацию в файл;
— функция rename() из модуля os — переименовывает документ и др.

  1. Способы открытия файлов в разных режимах;
  2. Варианты задания кодировок;
  3. Методы чтения содержимого документов;
  4. Инструменты для записи файлов;
  5. Популярные библиотеки для работы с файлами ( csv , json , Pillow и др.).

Источник: smartiqa.ru

Работа с текстовыми файлами в Python 3

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

Читайте также:
Программа для диагностики авто через кабель vag kkl

Для примера представим программу Python, которая проверяет список пользователей для контроля доступа. Список пользователей, вероятно, будет храниться в текстовом файле. Ещё один пример: программа для выполнения финансового анализа получает вводные данные из сохраненной таблицы. Как видите, вне зависимости от приложения, входные и выходные данные задействованы практически всегда.

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

Требования

Для выполнения руководства вам понадобится предварительно настроенная среда Python 3. Все необходимые инструкции вы найдёте в следующих статьях:

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

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

Формат Описание
txt Обычный текстовый файл, который хранит данные в виде символов (или строк) и исключает структурированные метаданные.
CSV Файл, который хранит данные в виде таблицы; для структурирования хранимых данных используются запятые (или другие разделители).
HTML Файл Hypertext Markup Language хранит структурированные данные; такие файлы используются большинством сайтов.
JSON Простой файл JavaScript Object Notation, один из наиболее часто используемых форматов для хранения и передачи данных.

Данное руководство рассматривает только формат txt.

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

Сначала нужно создать тестовый файл для работы. Откройте текстовый редактор и создайте файл days.txt. Добавьте в новый файл список дней недели:

Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
Sunday

Сохраните файл и запомните его местонахождение (это нужно для дальнейшей работы). В данном случае файл будет храниться в каталоге /users/8host/days.txt.

2: Открытие файла

Создайте сценарий files.py в текстовом редакторе и для простоты сохраните его в тот же каталог (/users/8host/).

Чтобы открыть файл в Python, нужно связать файл на диске с переменной Python. Сначала сообщите Python, где находится нужный файл. Чтобы открыть какой-либо файл, Python должен знать путь к этому файлу. Путь к файлу days.txt выглядит так: /users/8host/days.txt.

В файле files.py создайте переменную path и укажите в ней путь к файлу days.txt.

Теперь можно использовать функцию open(), чтобы открыть файл days.txt. В качестве первого аргумента функция open() требует путь к файлу, который нужно открыть. Эта функция имеет много других параметров. Одним из основных параметров является режим; это опциональная строка, которая позволяет выбрать режим открытия файла:

  • ‘r’: открыть файл для чтения (опция по умолчанию).
  • ‘w’: открыть файл для записи.
  • ‘x’: создать новый файл и открыть его для записи.
  • ‘a’: вставить в файл.
  • ‘r+’: открыть файл для чтения и записи.

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

3: Чтение файла

Теперь вы можете работать с файлом. В зависимости от режима, в котором открыт файл, вы можете выполнить в нём те или иные действия. Для чтения информации Python предлагает три взаимосвязанные операции.

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

Читайте также:
Программы для расчета заработной платы рейтинг

Вторая операция – .readline(), которая возвращает содержимое файла построчно.

Прочитав первую строку файла, операция readline при следующем запуске выведет вторую строку.

Третья операция – .readlines(), она возвращает список строк, где строки представлены в виде отдельных элементов.

days_file.readlines()
[‘Mondayn’, ‘Tuesdayn’, ‘Wednesdayn’, ‘Thursdayn’, ‘Fridayn’, ‘Saturdayn’, ‘Sundayn’]

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

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

Теперь попробуйте создать новый файл, который будет включать заголовок Days of the Week. Сначала создайте переменную title в файле files.py.

title = ‘Days of the Weekn’

Сохраните дни недели в строковой переменной days. Ниже показан код из всех вышеупомянутых разделов (чтобы было понятнее); файл открывается в режиме чтения, выходные данные операции чтения сохраняются в новой переменной days.

path = ‘/users/8host/days.txt’
days_file = open(path,’r’)
days = days_file.read()

В файле есть переменные для заголовка и содержимого файла days. Теперь можно записать данные в новый файл. Сначала укажите местонахождение файла (/users/8host/), затем – название нового файла (например, new_days.txt). Путь к новому файлу можно указать в переменной new_path. Чтобы открыть новый файл для записи, используйте функцию open() с параметром ‘w’.

new_path = ‘/users/8host/new_days.txt’
new_days = open(new_path,’w’)

Примечание: Если файл с таким именем (new_days.txt) уже существует, при открытии в режиме ‘w’ его содержимое пострадает.

Функция откроет файл, после чего вы можете записать в него данные с помощью операции .write(). Операции записи необходим всего один параметр – строка, которую нужно записать в файл. Чтобы начать новую строку в файле, нужно явно использовать символ новой строки. Запишите в файл files.py заголовок и добавьте пару операторов print.

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

После этого нужно закрыть файл.

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

Операция закрытия файла прерывает соединение между файлом на диске и переменной. Закрытые файлы могут использоваться другими программами, кроме того, это обеспечивает безопасность данных. закрыть файл можно с помощью функции .close(). Добавьте в файл files.py:

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

Прежде чем запустить сценарий files.py, убедитесь, что его содержимое выглядит так:

path = ‘/users/8host/days.txt’
days_file = open(path,’r’)
days = days_file.read()
new_path = ‘/users/8host/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:

В терминале появится вывод:

Days of the Week
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
Sunday

Теперь попробуйте открыть файл new_days.txt. Если всё работает должным образом, файл будет выглядеть так:

Days of the Week
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
Sunday

Заключение

Теперь вы умеете обрабатывать и управлять простыми текстовыми файлами в Python 3: открывать и читать файлы, записывать в них новые данные и закрывать их.

Источник: www.8host.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru