Работа с объектами " файл: функция open, чтение и запись в файлы в Python
Опубликованно 29.01.2018 16:34
Файлы относятся к типам данных в Python. Это связующий интерфейс между код и имя области памяти компьютера. Файлы, выполняют функцию "охраны" объектов. Они позволяют хранить любой тип информации, с последующей его загрузки и обработки. Мы увидим, как осуществить запись в файл в Python, и в противном случае чтение данных с практическими примерами.
Как открыть файл?
Работа с этим типом данных начинается с функции из функции open. Создает объект файла, который обеспечивает связь с документом на компьютере. После того, как вы вызовите функцию, может выполнять операции чтения или записи файлов в Python.
Для начинающих работать с файлами будет казаться трудным. Они отличаются от традиционных чисел, строк, словари. Для взаимодействия с ними, не используются литералы последовательности или их отображений, только методы.
Большая часть методов направлена на выполнение ввода и вывода информации, но есть и более конкретные. Например, Инструкция output.flush(), которая выталкивает диск из буферов вывода. Но мы начали изучать, как открыть файл.
Первый шаг заключается в вызове open(), круглые скобки, чтобы перейти к функции, имя внешнего файла и режим работы с ним:r – это означает, что по умолчанию открывается в режиме чтения;w – режим записи файлов в Python;– записывать информацию в конце документа;b – обработка двоичных файловзнак "+" означает, что для чтения и записи одновременно.
Важное правило – все аргументы должны указать, как строковые литералы, то есть, кавычки и разделенных запятыми: >>>This_file = open("C:odd", "w") #Пример вызова функции open, в интегрированной среде разработки.
Как использовать файлы?
После того, как файл открыт, вы можете использовать все свои методы. Содержание чтения представлены в виде строк. Для записи файлов в Python информация также должна быть строка типа объектов.
Список наиболее часто используемых операций:input.read() – возвращает информацию в виде одной линии;input.readline() – прочитать следующую строку;input.readlines() – отправить файл для чтения полный список строк;.write() – запись строк;.writelines() – запись всех строк..close() – закрыть вручную документ.
Работа с файлами
Вся информация, содержащаяся в файлах, представляет цепочку объектов. Поэтому, прежде чем начать лечение, необходимо выполнить преобразование данных. Для этого используйте методы int() или list(). А также выражения форматирования строк.
Использовать метод close необязательно. Но когда вы работаете с румянцем освобождаются ресурсы ОС, и происходит изгнание из выходного буфера. По умолчанию, выход происходит через буферы промежуточных. При записи в файл в Python, информация не сразу попадает на диск, и только в момент закрытия.
Пример записи в файл
Рассмотрим пример работы с текстовым файлом в интерактивном режиме. Первый шаг-это открыть файл в IDLE. Ранее создавать не надо:>>>я = open("первый_файл.txt", "w")>>>я потерял.write("Любой текст ") #Пишем строку12>>>я потерял.write("И снова любой текст ")20>>>я потерял.close() #Закрываем;>>>я = open("первый_файл.txt")>>>я потерял.readline() #Читаем то, что говорит"Любой текст "
После записи строки в файл Python 3.0, возвращает количество символов. В предыдущей версии этого не происходит. В примере использовался символ конца строки . Без него, метод write записывает все сплошным текстом.
Если вы хотите, чтобы прочитать содержимое файла без указания в конце концов, с помощью метода read:>>>print(open("первый_файл.txt").read())любой текст;и снова какой-либо текст;
Просмотреть каждую строку можно через итерации:>>>for x in open("первый_файл.txt"):print(x, end = " ")любой тексти еще любой текст #Каждая новая строка отображается с отступом.Сохранение объектов в базе Python в файл
В текстовый файл можно сохранить любые встроенные или созданные вручную объекты. Для выполнения записи файлов на Python, строка за строкой, каждый элемент сначала нужно преобразовать в строку. Также необходимо помнить, что методы не дают форматирования данных.>>>первый = open("второй_файл.txt", "w")>>>Список = [1,8, "r"]>>>C, B, P = 34, 90, 56>>>P = "character">>>первое.write(str(Список) + " ")12>>>первое.write("%s, %s, %s "%(C, B, P))11>>>первое.write(P + " ")15>>>первое.close()>>>print(open("второй_файл.txt").read())[1, 8, "р"]34, 90, 56набор символов
В данном примере сначала создается новый объект " файл "второй_файл.txt" для записи. Пять имен, которые присваиваются значения из списка, строки и целые числа. Перед записью каждый объект преобразуется в строку. В конце концов он открывает файл с помощью встроенной функции печати и метода чтения.
По тому же принципу, осуществляется в Python запись словаря в файл. Необходимо вызвать функцию str передаваться в качестве аргумента объект. Труднее всего не сохранения данных, а также извлечь и преобразовать обратно в словарях или в номер.
Преобразования строк в объекты языка работает метод readline:>>>L = open("второй_файл.txt")>>>F = Л. readline()>>>F"34, 90, 56 ">>>Numbers = Ф. split(",") #покупке обуви разделить на подстроки>>>Numbers["34", "90", "56 "]>>>Numbers = [int(x) for x in Numbers] #Преобразовать весь список>>>Numbers[34, 90, 56]Запись объектов с помощью специальных модулей
В состав стандартной библиотеки включает в себя один модуль, который называется рассол. Это очень удобный инструмент для записи и обратного восстановления данных. Особенно в случае, если вы не доверяете источнику файла.
Модуль-это универсальная программа, которая форматирует данные и преобразует их. Для ввода объекта любого типа (словарь), является достаточно отправить рассол:>>>Словарь = {"восемь": 8, "три": 3, "ноль": 0}>>>"Словарь"{"восемь": 8, "три": 3, "ноль": 0}>>>документ = open("мои документы.pkl", "wb")>>>import pickle>>>рассол.dump(Словарь, документ)>>>документ.close()>>>документ = open("мои документы.pkl", "rb")>>>D = pickle.load(документ)>>>D{"восемь": 8, "три": 3, "ноль": 0}
С модулем, не нужно извлекать и преобразовывать данные вручную. Он же выполняет сериализации объектов в поток байтов, и наоборот. Для этого в аргументах open указывает, wb – write binary.
Аналогично рассол, "достать для тебя данных через модуль Python – JSON. Запись в файл осуществляется с помощью метода dump. В качестве аргументов указываются сохраняемые объекты, которые автоматически сериализуются в JSON-строку-формат файла.>>>import json>>>Словарь = {"восемь": 8, "три": 3, "ноль": 0}>>>with open("мои документы.json", "w") as MD:>>>json.dump(Словарь, MD)
Существуют и более сложные способы работы с файлами. Например, операцию сканирования, организации циклов записи. Чтобы просмотреть весь список методов, с помощью в интерактивном режиме, функции help dir. Также в арсенале языка есть объекты, похожие на файлы, сокеты, потоки командной оболочки и ввода-вывода.
Категория: Техника