play_hosts
è un elenco di tutte le macchine per un gioco. Voglio prenderle e usare qualcosa come format()
per riscriverle come [email protected]%s
e poi unirle insieme a qualcosa come join()
. Quindi:Jinja2: format + unire gli elementi di un elenco
Tutti gli esempi di formato utilizzano piping in cui l'input è la stringa di formato e non un elenco. C'è un modo per usare questi (o qualcos'altro) per realizzare ciò che voglio? L'output dovrebbe simile a:
['[email protected]', '[email protected]', [email protected]', ...]
Il doc Jinja2 descrive formato come questo:
format(value, *args, **kwargs)
Applicare stringa Python formattazione su un oggetto:
{{ "%s - %s"|format("Hello?", "Foo!") }}
-> Hello? - Foo!
Così dà tre tipi di input ma non descrive quegli input nell'esempio, che ne mostra uno nella pipe e gli altri due passati via args. Esiste una parola chiave arg per specificare la stringa che viene convogliata? Per favore aiuto, monaci pitone!
sarebbe questo lavoro? (Non ho mai usato jinja) '{% per host in play_host%}' '{{" rabbitmq @% s "| format (host)}}' '{% endfor%}' – Pynchia
Sembra una comprensione di lista è tutto hai bisogno. – Barmar