python tomlkit:带有内联表的格式良好的数组

idv4meu8  于 2023-01-19  发布在  Python
关注(0)|答案(2)|浏览(134)

我尝试使用tomlkit 0.8.0从以下数据创建TOML:

data = {
    'stuff': [
        {'a':1, 'b': 2},
        {'c': 3},
        {'a': 4},
    ]
}

格式如下:

stuff = [
    {a = 1, b = 2},
    {c = 3},
    {a = 4}, 
]

一个简单的print(tomlkit.dumps(data))创建:

[[stuff]]
a = 1
b = 2

[[stuff]]
c = 3

[[stuff]]
a = 4

如何才能做到这一点是一个简单的方法?

b1zrtrql

b1zrtrql1#

更简单的解决方案可以是:

doc = tomlkit.document()
for k, v in data.items():
    doc.add(k, v)
print(tomlkit.dumps(doc))
tf7tbtn2

tf7tbtn22#

到目前为止我发现的最好的有点复杂:

doc = tomlkit.document()
a = tomlkit.array()
for x in data['stuff']:
    t = tomlkit.inline_table()
    t.update(x)
    a.add_line(t)
a.append(tomlkit.nl())
doc.add('stuff', a)
print(tomlkit.dumps(doc))

相关问题