使用python读取scala中创建的pureconfig配置文件的最简单方法是什么?

swvgeqrz  于 2023-03-28  发布在  Python
关注(0)|答案(1)|浏览(148)

我有一个用pureconfig库创建的scala配置文件。我想用python写一个 Package 器来读写这个配置文件(给予非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",
        ]
      }

    ]
  }
]
qoefvg9y

qoefvg9y1#

@mjjaniec:此语法似乎是HOCON
这个包还提供了一个转换工具,可以将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

相关问题