Посты с тэгом xml


[Из песочницы] Модуль для работы с XML файлами

Что будем делать


Сегодня мы с Вами сделаем модуль для работы с XML файлами.

Зачем


Иногда при разработке программы на Python требуется сделать настройки, которые сможет поменять любой пользователь без изменения кода.

Что нам понадобится


  • Знание ЯП Python
  • Python3
  • Python библиотеки: xml и time
Читать дальше →


CPython библиотека «ВКФ» для машинного обучения

В предыдущей заметке автора был описан web-сервер для проведения экспериментов с ВКФ-методом машинного обучения, основанного на теории решеток. Как альтернатива использования web-сервера в настоящей заметке сделана попытка указать путь использования CPython-библиотеки напрямую. Мы воспроизведем рабочие сессии экспериментов с массивами Mushroom и Wine Quality из UCI репозитория данных для тестирования алгоритмов машинного обучения. Потом будут даны объяснения о форматах входных данных.


Читать дальше →



Раскраска текстов в html и React

Добавить разметку в текст руками легко. Можно разметить текст прямо здесь, на хабре, а потом скопировать на сайт. Можно сделать поиск с заменой в Notepad++ или в Atom.
Если это 1 текст. Если текстов много, хочется иметь инструмент для выделения фрагментов текста html-тегами или формирование исходного кода для React. На Питоне это не сложно (несколько строк кода на цвет).



Если вы знаете Питон и регулярные выражения, переходите по ссылке.
Там и примеры, и исходные коды. Под катом подробное описание.
Читать дальше →



[Перевод] 10 самых распространенных ошибок безопасности в Python и как их избежать

Всем привет!

Наша очередная группа по Python успешно запустилась в понедельник, но у нас остался ещё один материальчик, который мы не успели разместить до старта. Исправляем нашу оплошность и надеемся, что он вам понравится.

Поехали!

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

Читать дальше →



[Из песочницы] SOAP и REST сервисы с помощью Python-библиотеки Spyne

Знакомство с библиотекой Spyne


В данной статье я хочу рассказать о замечательной Python-библиотеке Spyne.
Мое знакомство с Spyne началось в тот момент, когда передо мной поставили задачу написать Веб-сервис, который будет принимать и отдавать запросы через SOAP-протокол. Немного погуглив я наткнулся на Spyne, которая является форком библиотеки soaplib. А еще я был удивлен, насколько мало русскоязычной информации встречается о данной библиотеке.

С помощью Spyne можно писать веб-сервисы, которые умеют работать с SOAP, JSON, YAML, а написанный скрипт можно запустить через mod_wsgi Apache. Итак, давайте рассмотрим несколько примеров, напишем работающие скрипты и настроим так, чтобы скрипты работали через apache. Читать дальше →


Python meetup — 2 года


Всем привет!
В июне Python Meetup исполнилось 2 года. Чтобы отметить это, мы собрались в субботу 27 июня и провели весь день вместе, общаясь и слушая доклады. Речь шла о:
  • Оптимальном наименовании переменных
  • Безопасном запуске чужого кода на своем компьютере
  • Использовании Jenkins в тестировании игр
  • Парном удаленном программировании
  • Объектной подсистеме Python


Записи выступлений под катом. Хорошего просмотра!
Читать дальше →


[recovery mode] Самый быстрый SAX-парсер для python

Внезапно захотелось пересчитать все xml-теги в 240 тысячах xml-файлов общим весом 180 GB. Питоном — и побыстрее. Читать дальше →



Loxun - потоковая генерация xml в python

Loxun - отличная замена для XMLGenerator из xml.sax. В чем его плюсы перед последним:

SAX:

xml = XMLGenerator(out)
xml.startDocument()
xml.startElement('root')
xml.startElement('body')
xml.startElement('item')
xml.characters('some data')
xml.endElement('item')
xml.endElement('body')
xml.endElemen


Генерация xml карты.

Иногда требуется сгенерировать xml карту для заданных ссылок. Сначала делал это за счет метода строки format, но вот решил попробовать модуль для работы с xml и набросал простенькую функцию:

import StringIO
from xml.sax.saxutils import XMLGenerator
def create_sitemap(cnagfreq,priority,*links):
    st = StringIO.StringIO()
    g = XMLGenerator(st,encoding="UTF-8")
    g.startDocument()
    g.startElement('urlset', {'xmlns':"http://www.sitemaps.org/schemas/sitemap/0.9"})
    for lnk in links:
        g.characters("\n")
        g.startElement("url", {})
        g.characters("\n")
        g.startElement("loc", {})
        g.characters(lnk)
        g.endElement("loc")
        g.characters("\n")
        g.startElement("changefreq", {})
        g.characters(cnagfreq)
        g.endElement("changefreq")
        g.characters("\n")
        g.startElement("priority", {})
        g.characters(priority)
        g.endElement("priority")
        g.characters("\n")
       


Нетекстовые символы в XML и HTML

Большнство разработчиков знают, что некоторые специальные символы в XML и HTML необходимо записывать в виде entity или character reference. Но мало кто подозревает, что XML (а также SGML, на котором базируется HTML) документы могут содержать только "текстовые" символы. Привычные питоновские библиотеки также обходят это требование стороной. Средства конструирования XML, которые, казалось бы, должны полностью защищать нас от создания "битых" документов, справляются со своей задачей лишь частично. В результате вполне возможна ситуация, когда библиотека ругается на созданный с её же помощью документ. Вот пример с использованием ElementTree:
>>> from xml.etree import ElementTree
>>> element = ElementTree.Element('element')
>>> element.text = u'\0'
>>> xml = ElementTree.tostring(element, encoding='utf-8')
>>> ElementTree.fromstring(xml)
[...]
xml.parsers.expat.ExpatError: not well-form