python 解析hcl文件
文章目录
- 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
安装
pip install pyhcl
或直接从web上下载tar.gz文件
https://www.cnpython.com/pypi/pyhcl/dl-pyhcl-0.4.4.tar.gz#files
python代码示例
import hcl
with open('file.hcl', 'r') as fp:
obj = hcl.load(fp)
将hcl转换为json
https://www.cnpython.com/pypi/pyhcl
pyhcl附带了一个脚本,您可以使用它轻松地将hcl转换为json, 类似于python附带的json.tool:
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
安装
pip install python-hcl2
python代码示例
import hcl2
with open('foo.tf', 'r') as file:
hcl_data_dict = hcl2.load(file) # <class 'dict'>
ResGroupName = hcl_data_dict.get('inputs').get('resource_group_name', "")
还没有评论,来说两句吧...