Step 2 (S-102153)

From Stepik Wiki
Jump to: navigation, search

Step on Stepik: https://stepik.org/lesson/24474/step/2

Step 2 (S-102153) 1.png

[00:00 - 00:15] для того чтобы работать с данными в xml формате библиотеки языка python есть библиотека xml элемент свои отчеты импортируем библиотеку или 3 из xml внутри нее у нас есть функция пар сюда мы передаем им нашего файла xml


Step 2 (S-102153) 2.png

[00:15 - 00:33] наш пример функция возвращает нам имена именно дерево корень с помощью функции я труд и тогда будет являться элементом нашего xml дерева можно вывести на экран нашей элемента в ницце в том что это элемент лист


Step 2 (S-102153) 3.png

[00:33 - 00:50] атрибуты биться в том что на фоне стивенс лист атрибутов у него нет в наш словарь пустой если вы получили данное например куда нибудь с помощью api формате xml вы могли бы использовать функцию from скрининг из библиотеки 3 экзамена сразу вернула корень нашего дерева


[00:50 - 01:10] можем перебрать детей и нашего корня используя например цикл for можем перебрать child вывести на экран t каждого нашего ребенка и атрибуты каждого нашего и там нам исполнить данный код то дополнительно к тому что мы уже уводили увидим так и атрибуты и 1


[01:10 - 01:29] и 2 также можно использовать индексации 6 числа для того чтобы обращаться к детям и к детям детей то сейчас вы просили 1 ребенка 1 ребенка нашего корне нашем случае 1 ребенком 1 ребенок является именно можно также попросить текстовых содержимое вот текст перевести его на экран убийца в том что это и nygrec


Step 2 (S-102153) 4.png

Step 2 (S-102153) 5.png

Step 2 (S-102153) 6.png

[01:29 - 01:45] все элементы нашего дерева будет иметь 1 класс элемент поэтому на 600 наклонением класса элемент все объекты которые мы перебираем используя цикл for по корню также будет класться элемент и все дети детей и нашего корни также будет иметь класс элемент


[01:45 - 02:04] поэтому все имена методов и атрибутов в данных объектов будут одинаковы что нибудь интересное нашел под дерево используя метод можно передать текст который мы хотели переправиться на тренажер по делу то есть он вернет итератор который перебирает все элементы внутри данного под дерево с данным


[02:04 - 02:19] элементов по данному итераторов то есть на получен 2 элемента скорость который находится внутри нашего xml документа тогда можем также перебрать всех детей в для наших клиентов скорость потому что


Step 2 (S-102153) 7.png

Step 2 (S-102153) 8.png

Step 2 (S-102153) 9.png

[02:19 - 02:36] помним что баллы за 1 2 и 3 модуль и попросите их текстовые значения которых хранятся внутри не забыть перевести их числа в нашем случае к флотом сумму баллов сумма баллов за весь курс 1 студента и 2 студента


Step 2 (S-102153) 10.png

[02:36 - 02:51] если с помощью метода икер мы смогли переиграть все интересующие нас элементов по дереве то с помощью метода fine дома смогли бы передать только лишь сырьевой отлично спасибо александрина со мной через 4 данный экземпляр мася данной беседы формирует нам


[02:51 - 03:09] дерево элементов вы научитесь находить детей каждого элемента и находить интересующую нас таится внутри такого его под дерево росло слышно общества модифицировать данной деревья создавать новые и записывать их обратно в xml формат давайте сначала дождемся что можно записать дерева в xml формате


[03:09 - 03:26] мы сейчас считаем вас помощи функции parser затем также запишем его с помощью метода это это для у дерева версиям имя файла в который мы хотим записать файл нашим то чтобы ты сам толкал потому что мы по сути вы просто копируем файл который будет точной копией то файла который мы прочитали


Step 2 (S-102153) 11.png

Step 2 (S-102153) 12.png

[03:26 - 03:44] к нам поступила дополнительная информация что грег зарабатывал дополнительные баллы в 1 модуле пытаемся их добавить сначала мы определим что как это все таки 1 элемент нашего корня с тем чтобы стать риме состоялся 1 модуль используя метод и черт 5 модулей


[03:44 - 04:00] и из против вас грязью так же мы знаем что данный момент там будет всего 1 тут можно сразу взять чтобы получить данный элемент когда мы выйдем на экран элемент и текстовые поля данного элемента не знал что мы получили элемент модулю и сильно 7 спал в 1 модуле


[04:00 - 04:19] давайте просто изменить атрибут текст внутри нашего элементом мы с вами значение которое было ранее + 30 интересно приводят к строке тогда когда мы запишем наше дело в новый файл example modifier убедимся в том что он сильно получил 100 баллов 1 модуля


Step 2 (S-102153) 13.png

[04:19 - 04:37] также можно вывести 5 сумма баллов гравия составляет 270 а посему он может получить сертификат с отличием окончанием на замысел fiat и мы изменим тип нашего сертификата сертификат с отличием это он конечно же укажем элемент нашего сертификата это 2 ребенок в ленте


Step 2 (S-102153) 14.png

[04:37 - 04:56] затем с помощью создадим атрибут type со значением с тем что когда мы исполним наш сертификат теперь стал особенным хорошо мы сами начали создавать и изменять атрибуты используем это царь мы также текстовая содержимое из меня прямо


Step 2 (S-102153) 15.png

Step 2 (S-102153) 16.png

[04:56 - 05:11] текст нашего элемента однако как мы можем добавлять или создавать элементы из другого элемента прячем элемент куда нибудь добавлять в начало его создадим для этого мы можем воспользоваться конструктором класс элемент которые описаны в этой библиотеке элемент и 1 аргументом он принимает


[05:11 - 05:28] так которые мы хотим создать затем нашего элементом это или текстовая значение с помощью такой то текст мы скажем что проявил превосходные навыки во время курса а затем мы можем просто добавить а наша описание внутрь нашего элемента грег


[05:28 - 05:47] запусти мы сможем убедиться в том что мы действительно создали новый элемент description в самом конце внутри элемента стьюдент однако нам даны описания не понравилось и мы все таки решили его убрать мы можем воспользоваться методом fine для того чтобы найти вхождения 1 ребенка который является таким description


Step 2 (S-102153) 17.png

Step 2 (S-102153) 18.png

[05:47 - 06:03] в нашем случае наш элемент грека trapeze на вот здесь мы все помним что это 1 с энрота сидор стрит иди номер 1 мы знаем что у него есть in description он единственный поэтому случаях дасаев мы сможем найти данный элемент


Step 2 (S-102153) 19.png

Step 2 (S-102153) 20.png

[06:03 - 06:20] затем с помощью метода remove мы показываем что мы хотим удалить элемент description is элемента грег хорошо тогда когда запустим в том что мы убрали описание превосходных навыков грека который он проявил при прохождении данного курса а то есть мы хотели создать его самого начала мы создали


Step 2 (S-102153) 21.png

Step 2 (S-102153) 22.png

[06:20 - 06:36] корень используется конструктор элитном скажешь нам нужно так затем использовать конструктор сабж эллипс мы бы могли указать чем ребенком является данный элемент который мы создаем новые конструкции говорим что мы хотим создать элемент а также first name который


[06:36 - 06:51] сразу является ребенком нашего корня из далее элементов second name и скорость с которой нас являются детьми нашего форума и темы вы создали для каждого модуля по элементов и сказали бы что не является детьми


[06:51 - 07:10] нашего элемента scores затем мы создали дерева и конструктор элементы ему передали корень за которым вы должны были поддерживать наше дерево затем мы записались помощью метода right всякое дерево внутри 1 xml файла когда мы данных вот запустим наш xml которая содержит в себе


Step 2 (S-102153) 23.png

[07:10 - 07:28] описание студентов по тем же правилам и так так так так second name затем внутри тэга скорость нас окажется балла за 2 и 3 модули xml файле который вы получите сами без переносов строк безусловно является и тактически рядом с моим файлом


[07:28 - 07:46] перенос строк и лишь затем чтобы нам было проще глазами читать мои формат на шаге рассмотрел лишь самые базовые функции методы которые используются в библиотеке или 0 3 она теперь даже и хватает для того чтобы считать данные в xml формате дерево элементов по которому мы затем можем поискать информацию


[07:46 - 07:49] возможные модифицировать и сохранить файл обратно