Какой самый простой способ использовать python для чтения конфигурационных файлов pureconfig, созданных в scala?

У меня есть файл конфигурации scala, созданный с помощью библиотеки pureconfig. Я хотел бы написать оболочку на python для чтения и записи этого конфигурационного файла (чтобы обеспечить лучший доступ для пользователей, не являющихся пользователями Scala). Это самый простой способ разобрать всю схему?

Мой конфигурационный файл выглядит так:

tables = [
  {
    name = TABLE_1
    partition_strategy = "none"
    partitions = [
      {
        path = [
          "/shared/fall/raw/TABLE_1_2015.csv"
        ]
      }
    ]
  }
  {
    name = TABLE_2
    partition_strategy = "none"
    partitions = [
      {
        path = [
          "/shared/fall/raw_data/TABLE_2_2015.csv"
        ]
      }
    ]
  }
  {
    name = TABLE_3
    partition_strategy = "year"
    partition_column = "FLX_DIS_DTD"
    partitions = [
      {
        year = 2014
        path = [
          "/shared/fall/raw/2014_2016/PRODUCT/TABLE_3*2014.CSV",
          "/shared/fall/raw/2014_2016/PRODUCT/TABLE_3*2015.CSV",
        ]
      },
      {
        year = 2016
        path = [
          "/shared/fall/raw/2014_2016/PRODUCT/TABLE_3*2016.CSV",
          "/shared/fall/raw/2014_2016/PRODUCT/TABLE_3*2017.CSV",
        ]
      }


    ]
  }
]

1 ответ

По словам @mjjaniec: этот синтаксис выглядит как HOCON . Вы можете использовать парсер Hocon, например PyHocon.

Этот пакет также предоставляет инструмент преобразования для преобразования из HOCON в форматы JSON, .properties и YAML.

      usage: pyhocon [-h] [-i INPUT] [-o OUTPUT] [-f FORMAT] [-n INDENT] [-v]

optional arguments:
  -h, --help                 show this help message and exit
  -i INPUT, --input INPUT    input file
  -o OUTPUT, --output OUTPUT output file
  -c, --compact              compact format
  -f FORMAT, --format FORMAT output format: json, properties, yaml or hocon
  -n INDENT, --indent INDENT indentation step (default is 2)
  -v, --verbosity            increase output verbosity
Другие вопросы по тегам