You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将动态字典中的元素转换为顶层变量?

动态字典键转顶层变量的实现方法

Ansible 实现方式

针对YAML字典场景,可使用set_fact模块配合循环遍历键值对,动态生成顶层变量:

- name: 生成顶层变量
  set_fact:
    "{{ item.key }}": "{{ item.value }}"
  loop: "{{ vm | dict2items }}"

执行后即可直接引用{{ cpu }}、{{ name }}、{{ ip }}等变量,对应值与原字典一致。

Python 实现方式

在Python环境中,可遍历字典键值对并注入到命名空间:

vm = {
    'cpu': 4,
    'name': 'test',
    'ip': '10.10.10.10'
}

# 将键值对转为全局变量
for key, value in vm.items():
    globals()[key] = value

# 验证变量
print(cpu)    # 输出 4
print(name)   # 输出 test
print(ip)     # 输出 10.10.10.10

若在函数内部操作,建议使用自定义字典存储变量,避免直接修改locals()带来的兼容性问题。

内容的提问来源于stack exchange,提问作者W4hf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 22:50:27