Какой самый простой способ использовать 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