从运行时数据结构生成变量定义代码
Generate variable definition code from runtime data structure
假设我在运行时手头有一个字典,有没有一种简单的方法来创建定义字典的代码。例如它应该输出字符串
"d = {'string_attr1' : 'value1', 'bool_attr1': True}"
当然可以手写一个转换器函数,它遍历键值对并将字符串放在一起。仍然需要处理特殊情况来决定是否必须引用值等。
更一般地说:是否有内置的方式或库来从运行时数据结构生成变量声明?
上下文:我想使用字典列表作为代码生成器的输入。字典的内容将从 SQL 数据库中查询。我不想将代码生成与 SQL 数据库的查询紧密结合,所以我认为生成一个定义字典列表的 python 源文件会很方便,它可以是用作代码生成器的输入。
>>> 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.
假设我在运行时手头有一个字典,有没有一种简单的方法来创建定义字典的代码。例如它应该输出字符串
"d = {'string_attr1' : 'value1', 'bool_attr1': True}"
当然可以手写一个转换器函数,它遍历键值对并将字符串放在一起。仍然需要处理特殊情况来决定是否必须引用值等。
更一般地说:是否有内置的方式或库来从运行时数据结构生成变量声明?
上下文:我想使用字典列表作为代码生成器的输入。字典的内容将从 SQL 数据库中查询。我不想将代码生成与 SQL 数据库的查询紧密结合,所以我认为生成一个定义字典列表的 python 源文件会很方便,它可以是用作代码生成器的输入。
>>> 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.