python 解析hcl文件

喜欢ヅ旅行 2022-09-12 01:57 243阅读 0赞

文章目录

    • HCL
      • 官网
    • pyhcl
      • 官网
      • 安装
      • python代码示例
      • 将hcl转换为json
    • python-hcl2
      • 官网
      • 安装
      • python代码示例

HCL

HCL(HashiCorp配置语言)是由HashiCorp构建的一种配置语言。HCL的目标是构建一种结构化的配置语言,它对人和机器都是友好的,可以与command-line工具一起使用,但特别针对DevOps工具、服务器等。

注意:python针对hcl文件做解析有两个主要的大版本。

  • hcl
  • python-hcl2(本人采用)

HCL也完全兼容JSON。也就是说,JSON可以作为一个完全有效的输入,输入到一个需要HCL的系统。这有助于使系统与其他系统互操作。
HCL深受libucl、nginx配置和其他类似配置的启发。
Terraform中使用的是hcl。

官网

https://github.com/hashicorp/hcl

pyhcl

官网

https://github.com/virtuald/pyhcl

安装

  1. pip install pyhcl

或直接从web上下载tar.gz文件

https://www.cnpython.com/pypi/pyhcl/dl-pyhcl-0.4.4.tar.gz#files

python代码示例

  1. import hcl
  2. with open('file.hcl', 'r') as fp:
  3. obj = hcl.load(fp)

将hcl转换为json

https://www.cnpython.com/pypi/pyhcl

pyhcl附带了一个脚本,您可以使用它轻松地将hcl转换为json, 类似于python附带的json.tool:

  1. hcltool INFILE [OUTFILE]

python-hcl2

官网

https://github.com/amplify-education/python-hcl2
https://pypi.org/project/python-hcl2/

https://www.cnpython.com/pypi/python-hcl2

安装

  1. pip install python-hcl2

python代码示例

  1. import hcl2
  2. with open('foo.tf', 'r') as file:
  3. hcl_data_dict = hcl2.load(file) # <class 'dict'>
  4. ResGroupName = hcl_data_dict.get('inputs').get('resource_group_name', "")

发表评论

表情:
评论列表 (有 0 条评论,243人围观)

还没有评论,来说两句吧...

相关阅读

    相关 python解析xml文件

        最近有个问题需要解析xml文件,以前没接触过,完成后发现原来解析xml很简单,但还是记录一下相关概念与解析过程,日后查看方便查找。 country\_data.x