从运行时数据结构生成变量定义代码

时间:2015-06-12 15:00:54

标签: python code-generation

假设我在运行时手头有一个字典,是否有一种简单的方法来创建定义dict的代码。例如,它应该输出字符串

"d = {'string_attr1' : 'value1', 'bool_attr1': True}"

当然可以手动编写转换器函数,它迭代键值对并将字符串放在一起。仍然需要处理特殊情况以决定是否必须引用值等等。

更一般地说:是否有内置方式或库来从运行时数据结构生成变量声明?

上下文:我想使用一个dicts列表作为代码生成器的输入。将从SQL数据库中查询dicts的内容。我不想将代码生成紧密地耦合到查询SQL数据库,所以我认为生成定义字典列表的python源文件会很方便,可以用作字典列表的输入。代码生成器。

1 个答案:

答案 0 :(得分:3)

>>> help(repr)
Help on built-in function repr in module __builtin__:

repr(...)
    repr(object) -> string

    Return the canonical string representation of the object.
    For most object types, eval(repr(object)) == object.