Написать программу на Python, которая делает следующие действия:
Создает 50 zip-архивов, в каждом 100 xml файлов со случайными данными следующей структуры:
<root> <var name='id' value='<случайное уникальное строковое значение>'/> <var name='level' value='<случайное число от 1 до 100>'/> <objects> <object name='<случайное строковое значение>'/> <object name='<случайное строковое значение>'/> </objects> </root>
В тэге objects случайное число (от 1 до 10) вложенных тэгов object.
2. Обрабатывает директорию с полученными zip архивами, разбирает вложенные xml файлы и формирует 2 csv файла: Первый: id, level - по одной строке на каждый xml файл Второй: id, object_name - по отдельной строке для каждого тэга object (получится от 1 до 10 строк на каждый xml файл)
- Pyton >= 3.4.1
Задание было оформлено в виде python пакета, поэтому его установка крайне проста:
$ git clone https://github.com/droppoint/ngenix-demo-task.git $ cd ngenix-demo-task $ python setup.py install
Проект оснащен интерфейсом командной строки. Для получения справки достаточно выполнить команду:
$ ndt --help
Доступны три команды: generate, parse и cycle для выполнения задач №1, №2, №1 и №2 одновременно соответственно. Справку по команде можно получить следующим образом:
$ ndt generate --help
Проект содержит в себе тесты и поддерживает фреймворк тестирования tox. Для запуска тестирования и синтаксической проверки достаточно выполнить команду:
$ tox