【发布时间】:2021-09-29 22:12:20
【问题描述】:
我正在尝试将 yaml 文件转换为 python3 中的 toml 文件。
我的计划是使用需要字典的toml.dumps(),然后写入输出文件。
我需要能够匹配我需要插入的工具的输入 toml 要求。 该工具在某些情况下需要内联表,如下所示:
[states.Started]
outputs = { on = true, running = false }
[[states.Started.transitions]]
inputs = { go = true }
target = "Running"
我了解如何生成表 [] 和表数组 [[]],但我很难弄清楚如何创建内联表。
TOML 文档说内联表与表相同。因此,例如,对于上面的表数组 (states.Started.Transitions),我认为输入将是整个列表中的一个表,但是 TOML 格式会在输出时将其分解为单独的表。
谁能帮我弄清楚如何配置我的字典来输出内联表?
编辑***
我不确定我是否完全理解我做错了什么。这是我的代码
table = {'a':5,'b':3}
inline_table = toml.TomlDecoder().get_empty_inline_table()
inline_table['Values'] = table
encoder = toml.TomlPreserveInlineDictEncoder()
toml_config = toml.dumps(inline_table,encoder = encoder)
但是这不会创建一个内联表,而是在输出中创建一个常规表。
[Values]
a = 5
b = 3
【问题讨论】:
-
提示:如果您需要其他指导,请评论我的回答,如果您只是编辑您的问题,我不会收到通知。您将错误的表设为内联表 -
table必须是内联的,而不是包含Values的根表!