Какой формат файла подходит для регистрации / конфигурации файлов?

Я делаю большие симуляции на суперкомпьютерах. Поскольку эти симуляции дорогостоящие, мне нужно время от времени записывать результаты на диск. Кроме того, у большинства суперкомпьютеров максимальное время работы составляет 1 или 2 дня, после чего ваша работа автоматически прекращается. В результате я должен иметь возможность добавить функцию «возобновить» в мое приложение.

Для больших наборов данных я использую «сырые» двоичные файлы, так как это самый быстрый способ выгрузки информации на диск. Позже я могу преобразовать эти двоичные файлы в форматы, которые могут быть обработаны на обычном рабочем столе. Тем не менее, мне также нужно записать некоторую параметрическую информацию о симуляции, когда код выполняется, чтобы у меня не было проблем с определением того, какому набору параметров соответствует мой результат.

Кроме того, мне нужен файл конфигурации, чтобы параметры можно было задавать при запуске / возобновлении работы. Что я хочу сделать, это объединить файл регистрации / настройки в один шаг, чтобы код мог записать всю необходимую информацию в файл конфигурации для следующего резюме. Мне также нужно, чтобы этот файл был легко читаемым, иерархическим и имел хорошую поддержку с точки зрения библиотек для анализа. Моя главная проблема — язык, на котором я развиваюсь, а именно C++ но было бы неплохо иметь поддержку в python также.

Пока я делаю это в xml с помощью boost::property_tree но я не уверен, что это лучший способ. В частности, мой xml файлы кажутся слишком многословными! Есть ли лучшие варианты для формата файла, который я мог бы использовать? Как насчет поддержки библиотеки? Я предпочитаю библиотеки только для заголовков, чтобы предотвратить изменения в структуре сборки.

3

Решение

Вы бы оказались в совершенно уникальной ситуации для стандартного типа файла, который делает Python не обрабатывать — так что, пока вы придерживаетесь стандартов (то есть xml, json, ini, …), требование хорошо работать с python никогда не должно быть проблемой.

Как уже говорили другие, JSON и XML — ваш лучший выбор. Вы никогда не ошибетесь с отраслевыми стандартами. Лучшая документация, более широкие испытания, лучшая читаемость вашего кода — как бы это ни звучало, XML и JSON будут делать то, что вы хотите, и их кодирование / декодирование сопоставимы. Если размер файла является проблемой, я считаю, что в несжатом виде JSON немного более легковесен — если это не так, просто выберите тип файла, который более удобочитаем для вас.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector