Разбор XML SAX парсером с FTP — различия между версиями

Материал из razgovorov.ru
Перейти к: навигация, поиск
(Новая страница: «Раз нужен SAX парсер, значит на входе очень большие файлы. Основная проблема, как передать…»)
 
м (added Category:Python using HotCat)
 
Строка 14: Строка 14:
 
     parser.parse(file)
 
     parser.parse(file)
 
</source>
 
</source>
 +
 +
[[Категория:Python]]

Текущая версия на 16:33, 12 апреля 2018

Раз нужен SAX парсер, значит на входе очень большие файлы. Основная проблема, как передать stream с ftp в sax парсер.

Вариант через urllib, на самом деле внутри urllib используется ftplib и можно посмотреть как данный вариант работает.

def parse_xml(url, username, password)
     url = url.replace('//', '//{0}:{1}@'.format(username, password))
     file = urllib.request.urlopen(url)

     parser = sax.make_parser()
     parser.setFeature(sax.handler.feature_namespaces, 0)
     content_handler = SaxElemHandler(self)
     parser.setContentHandler(content_handler)
     parser.parse(file)