Ya bir yapılandırma dosyası kullanarak json şablonunu oluşturmak için bir işlev yazıyorum.python Jinja2 json şablonunu kullanarak yaml conf kullanarak bir dosya yaratıyor
görünüyor şey gibi aşağıda:
render.py
:
if len(sys.argv) != 3:
print "usage: python render_template.py [yaml_file] [jinja_template_file]"
sys.exit(1)
with open(sys.argv[1], "r") as stream:
config = yaml.safe_load(stream)
with open(sys.argv[2], "r") as stream:
template_text = stream.read()
template = Template(template_text)
print template.render(config)
test.yaml
:
Application:
Hosts:
- a
- b
sample.json.templete
[{
"test1":
{
"objectName": "{{Application.Hosts}}",
}
}]
ben
[{
"test1":
{
"objectName": ['a' , 'b'],
}
}]
olsun Ama json dosyası elde ediyorum beri
["a", "b"]
yani gerek
python ./render.py ./test.yaml ./sample.json.templete > sample.json
çalıştırdığınızda Listeyi çift tırnak içinde istiyorum. Bunu en iyi nasıl başarabilirim? Çift tırnak içinde dizelerle listelemek için dizeleri tek tırnak işareti ile nasıl dönüştürebilirim?
yapmak gerekmez? sample.json.templete dosyası içinde? Python dosyanıza – user2942227
- template.render'ı çağırmadan önce tanımlamanız ve jinja'nın env'sine eklemeniz gerekir. Bağlandığım cevabın, bu şeylerin tam bir örneği var. – srowland