Skip to content

invasy/ngenix-test-task

Repository files navigation

Задача

Написать программу на Python, которая делает следующие действия:

  1. Задание 1:
    • Создаёт 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. Задание 2:
    • Обрабатывает директорию с полученными zip-архивами,
    • разбирает вложенные xml-файлы
    • и формирует 2 csv-файла:
      1. id, level — по одной строке на каждый xml-файл
      2. id, object_name — по отдельной строке для каждого тэга object (получится от 1 до 10 строк на каждый xml-файл)

Очень желательно сделать так, чтобы задание 2 эффективно использовало ресурсы многоядерного процессора.

About

NGENIX test task: generate random XML files and convert them to CSV files

Topics

Resources

License

Stars

Watchers

Forks