我有以下字符串在我的Django应用程序:"Hello, {{ name }}. I will arrive at {{ time }}"
。我的目标是给出在该字符串中使用的变量列表:
def my_func():
# What should be done here ?
my_str = "Hello, {{ name }}. I will arrive at {{ time }}"
print(my_func(my_str)) # Desired output ["name", "time"]
这里期望的输出应该是["name", "time"]
。目前,我将实现调用regexp,但我觉得必须有一些内置的方式来实现这一点。有没有提示?
您可以使用jinja2schema.infer
要获取模板中使用的变量列表:
import jinja2schema
def my_func(my_str):
return list(jinja2schema.infer(my_str).keys())
my_str = "Hello, {{ name }}. I will arrive at {{ time }}"
variables = my_func(my_str)
variables
应该看起来像:
['time', 'name']