摘要:
我想要一个'module'类型的变量并导出它。在
我使用import从.py文件导入python模块并对其进行更改。我需要将模块导出回一个文件,或者获取完整模块的字符串表示形式,然后将其写入磁盘。在
我一直找不到任何方法来导出python模块或将模块中的对象转换为结构化的纯文本python可执行格式的字符串。(不是json、酸洗等)
详细问题和用例:
此要求是内部构建过程的一部分;没有安全要求,只有我们自己的模块(而不是内置模块)正在被修改。python脚本与业务逻辑一起运行,以修改许多其他脚本。此进程使用仅在生成时可用的信息。因此,我无法选择在运行时导入具有不同数据的模块。在
最初的系统使用了一个带有占位符字符串的模板,这些占位符字符串将被替换,但当前的需求要求对对象声明进行更复杂的修改,在这种情况下,通过编程修改对象要比字符串替换容易得多。在
我做了什么
有了用python编写的主生成器脚本,我可以导入多个模块(它们只有变量声明,没有可执行代码),并进行所有需要的替换。剩下的是module类型的变量,需要将其导出回一个文件中,以便以后执行。在
@阿巴内特有一些好主意。我不知道repr函数。这给了我信息,但没有任何格式。这让我看到了pprint,它与我所喜欢的非常接近。在
示例
示例.py在sample = {
'level1_dict_1' : {
'key1' : 'value1',
'key2' : {
'