muzruno.com

Работа с файлови обекти: отворете, прочетете и пишете на файлове в Python

Файловете се отнасят до основните типове данни на Python. Това е интерфейсът между кода и имената на паметта на компютъра. Файловете изпълняват функцията "запазване" на обекти. Те ви позволяват да запазвате всякаква информация с последващо разтоварване и обработка. Ще разгледаме как да пишем в файл в Python и обратно прочетете данните с практически примери.писане на файл в Python

Как да отворя файл?

Работата с този тип данни започва с вградената функция отворена. Той създава файлов обект, който осигурява комуникация с външен документ на компютъра. След като позвъните на функцията, можете да извършвате операции за четене или запис на файлове в Python.

За начинаещи работата с файлове изглежда трудна. Те се различават от обичайните линии, номера, речници. За взаимодействие с тях не се използват литералите на последователности или картиране, а само методи.

Повечето от методите са насочени към извършване на вход и изход на информация, но има и по-конкретни такива. Например, изходът .flush (), който изтласква изходните буфери на диска. Но ще започнем, като научим как да отворим файла.

Първото нещо, което трябва да направите, е да извикате open (), да предавате в скоби функции, името на външния файл и начина на работа с него:

  • r - означава, че режимът на четене ще бъде отворен по подразбиране;
  • w - запис на файлове в Python;
  • a - да пишете информация в самия край на документа;
  • б - обработка на двоични файлове;
  • знакът "+" означава четене и писане едновременно.

Важно правило е, че всички аргументи трябва да бъдат определени като буквални струни, т.е. в кавички и разделени със запетаи:

  • > This_file = open ("C: odd", "w") # Пример за извикване на отворена функция в IDE.

python пише низ в файл

Как да използвате файловете?

След като файлът е отворен, можете да използвате всичките му методи. Съдържанието за четене ще бъде представено като струни. За да пишете на файлове в Python, информацията трябва да има формата на низови обекти.

Списък на най-използваните операции:

  • input.read () - връща информацията като единичен низ;
  • input.readline () - прочетете следния ред;
  • input.readlines () - представя файл за четене изцяло със списък от низове;
  • .write () - пишете редове;
  • .writelines () - записва всички линии;
  • .close () - ръчно затворете документа.

писане на речник в питън файл

Характеристики на работата с файлове

Цялата информация, съдържаща се в рамките на файловете, се представя като струнни обекти. Следователно, преди да започнете обработката, трябва да извършите преобразуване на данни. Използвайте вградените методи int () или list (), за да направите това. И също така изрази за форматиране на низове.

Не е необходимо да използвате метода за затваряне. Но при работа с флъш, ресурсите на OS се освобождават и изходните буфери се изхвърлят. По подразбиране изходът се осъществява чрез междинни буфери. При писане на файл в Python информацията не се прехвърля веднага на диска, а само към момента на затваряне.

питън json пише на файл

Пример за записване във файл

Нека да разгледаме пример за работа с текстов файл в интерактивна сесия. Първата стъпка е да отворите файла в IDLE. Предварително създаване не е необходимо:

  • > first_f = отворен ("first_file.txt", "w")
  • > first_fr.write ("Всеки текст n") # Напишете линии
  • 12
  • > first_fr.write ("И отново всеки текст n")
  • 20
  • > first_file.close () # Затвори;
  • > first_f = отворен ("first_file.txt")
  • > first_read.readline () # Ние четем, какво е записано
  • "Всеки текст n"


След като напише линия към файл, Python 3.0 връща броя въведени знаци. В предишната версия това не се случи. Примерът използва края на реда n. Без нея пиша ще напише всичко в солиден текст.

Ако искате да прочетете съдържанието на файл без да посочите n в края, използвайте метода за четене:

  • > печат (отворен ("first_file.txt") чете ())
  • всеки текст;
  • и отново всеки текст;

Можете да видите всеки ред на свой ред чрез итерация:

  • > за отворен ("first_file.txt"):
  • отпечатване (x, край = «»)
  • всеки текст
  • и отново всеки текст # Всеки нов ред ще се покаже отместено.

Запазване на обектите на Python до файл

В текстов файл можете да запазите вградените или ръчно създадени обекти. За да пишете на файлове в Python по ред, всеки елемент трябва да бъде преобразуван в низ. Също така не забравяйте, че методите не форматират данни.

  • > пример_2 = отворен ("second_file.txt", "w")
  • > Списък = [1.8, "r"]
  • > С, В, Р = 34, 90, 56
  • > Стр = "Набор от символи"
  • > example_2.write (str (Списък) + " n")
  • 12
  • > example_2.write ("% s,% s,% s n"% (C, B, P)
  • 11
  • > example_2.write (Pp + " n")
  • 15
  • > example_2.close ()
  • > print (отворен ("second_file.txt") чете ()
  • [1, 8, "r"]
  • 34, 90, 56
  • набор от знаци

В този пример първо създавате нов файл файл "second_file.txt" за писане. На пет имена се задават стойностите на списък, низ и числа. Преди запис всеки обект се преобразува в низ. Накрая файлът се отваря с помощта на вградената функция за печат и метода за четене.

питън пише на файл по ред

По същия принцип Python пише речник на файл. Необходимо е да се извика функцията str и да се предаде като аргумент към обекта. Най-трудното нещо не е да запазите данните, а да ги извлечете и да ги върнете обратно в речници или числа.

Конвертиране на низове към езикови обекти чрез метода readline:

  • > L = отворен ("second_file.txt")
  • > F = L.реадлайн ()
  • > F
  • «34, 90, 56 n»
  • > Numbers = F.split (",") # Разделете със запетаи в подзаредения
  • > Числа
  • ["34", "90", "56 n"]
  • > Numbers = [int (x) за x в числата] # Конвертирайте целия списък
  • > Числа
  • [34, 90, 56]

Записване на обекти чрез използване на специални модули

Стандартната библиотека включва модул, наречен туршия. Това е изключително полезно средство за писане и извличане на информация. Особено, когато не вярвате на източника на файла.

Модулът е универсална програма, която автоматично форматира и преобразува данните. За да напишете обект от който и да е тип (речник), достатъчно е да минете една питка:

  • > Речник = {"осем": 8, "три": 3, "нула": 0}
  • > Речник
  • {"Осем": 8, "три": 3, "нула": 0}
  • > document = отворен ("my_document.pkl", "wb")
  • > внос туршия
  • > pickle.dump (Речник, Документ)
  • > document.close ()
  • > document = отворен ("my_document.pkl", "rb")
  • > D = разтоварване (документ)
  • > D
  • {"Осем": 8, "три": 3, "нула": 0}

С модула няма нужда да извличате и конвертирате данни ръчно. Самият той извършва сериализация на обекти в низ от байтове и обратно. За тази цел аргументите отворени уточняват wb - write двоично.

По подобен начин туршия, "може" данните могат да използват модула Python - JSON. Файлът се записва във файла, като се използва методът за изхвърляне. Аргументите са записани обекти, които автоматично сериализират до JSON низ.

  • > импортиране на
  • > Речник = {"осем": 8, "три": 3, "нула": 0}
  • > с отворен ("my_document.json", "w") като m_d:
  • > json.dump (Речник, m_d)

Съществуват и по-сложни начини за работа с файлове. Например, работата на сканирането, организирането на циклите на записване. За да видите целия списък с методи, използвайте помощните или директните функции в интерактивната сесия. Също така в арсенала на езика има обекти, подобни на файловете - гнезда, командния корпус и входно-изходните потоци.

Споделяне в социалните мрежи:

сроден