我正在尝试遍历 Python cookiecutter json 列表中的所有项目并根据每个项目运行 bash 命令。
设置
我有以下内容cookiecutter.json
:
{
"directory_name": "df-sharp",
"servers": ["db", "web"],
"myweb_provisioner": "webck"
}
我有{{cookiecutter.myweb_provisioner}}.sh
,其中包含以下jinja2
代码:
{% for server in cookiecutter.servers %}
mkdir -p ~/myproj/host_types/{{ server }}
{% endfor %}
问题
当我运行时cookiecutter create-server-tree
,我得到以下信息:
Select servers:
1 - db
2 - web
Choose from 1, 2 [1]: 2
其中的内容webck.sh
是:
mkdir -p ~/myproj/host_types/w
mkdir -p ~/myproj/host_types/e
mkdir -p ~/myproj/host_types/b
Select
菜单不应出现。我不想在列表中的 2 个元素之间进行选择。我想遍历它们并构造 2 个 bash 命令——每个元素一个命令。我正在尝试遍历此处或此处所示的列表。
我想要的是
这就是我想要的:cookiecutter create-server-tree
应该产生webck.sh
包含以下内容:
mkdir -p ~/myproj/host_types/db
mkdir -p ~/myproj/host_types/web
如何遍历servers
列表并使用每个列表元素(而不是一次一个字符)?