我正在尝试升级Web应用程序的服务器,我必须遍历一个键值字典,但我得到以下错误
FAILED! => {"changed": false, "msg": "AnsibleUndefinedVariable: 'ansible.utils.unsafe_proxy.AnsibleUnsafeText object' has no attribute 'iteritems'"}
我试过了
{
"version":"{{ version.actual_version_number }}",
"integrations": {
{% for id, port in integration_details.items() %}
{% if integration_details is defined and integration_details is not empty %}
{{ id }} : {{ port }}
{% endif %}
{%- if not loop.last -%},{% endif %}
{% endfor %}
}
}
如果有人可以帮助解决这个问题,我将非常感激!
假设您的数据结构是dict使用if integration_details is defined and integration_details.keys()|length > 0
,这将检查是否存在任何子键。如果它的列表使用if integration_details is defined and integration_details|length > 0
但是看到你发布的错误你可能有iteritems()
somewhere的for循环,这不在你发布的代码中。
这可能是因为你使用python3但是想用iteritems()而不是items()来迭代你的dict,或者你的变量不是dict而是另一种类型。