gpt4 book ai didi

python - 是否可以使用 Jinja2 模板对文档中的参数进行逆向工程?

转载 作者:行者123 更新时间:2023-12-02 09:52:00 25 4
gpt4 key购买 nike

Jinja2的一般工作流程是params + Jinja2 template = generated document

from jinja2 import Template
t = Template("Hello {{ something }}!")
t.render(something="World")
>>> u'Hello World!'

是否可以使用 Jinja2 模板对文档中的参数进行逆向工程?换句话说,我正在寻找以下内容:Jinja2 模板 + 生成的文档 = params

from jinja2 import Template
t = Template("Hello {{ something }}!")
t.reverse("Hello World!")
>>> {"something" : "World"}

json 输出不是必需的,但它会很方便。

如果不是,创建这样的逻辑的好方法是什么?

上下文:我使用 Jinja2 生成 Cisco 交换机配置文件,如果能够提取过去生成的文档,这将是一个很好的功能,并且我不想显示 1000 多行配置脚本,而是只想列出参数。我知道可以通过将所有参数存储在一个简单的数据库中来解决这个问题,但目前我没有设置数据库,如果可能的话,我会避免它。

最佳答案

如果有人仍然感兴趣/关注这个问题,我认为该库(2021 年发布)基本上完成了这项工作(或者可以用来完成这项工作):

parse() is the opposite of format()

https://pypi.org/project/parse/

可以定义一个模式(如模板)并为其提供字符串以返回参数。

基于原始问题的最小工作示例:

import parse
pattern = parse.compile("Hello {something}")
result = pattern.parse("Hello world")
result["something"]
>>> 'world'

关于python - 是否可以使用 Jinja2 模板对文档中的参数进行逆向工程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37813550/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com