Python 动态生成的类 怎么导出到 文件中

2019-07-02 15:24:28 +08:00
 ruandao

用 type 生成的类, 要怎么导出到 xxx.py 文件中

cls = type("ClsName", (object, ), attr)
code = xxxGetSource(cls)
writeToFile(code, "moduleName/ClsName.py")

django,makemigrations 的时候,需要把 Model 的继承的父类 注册到 migrations 的文件中, 然后, 我的一些 Model 继承的类是动态生成的 譬如:

class XXXModel(GenerateCls({ .... }),
           models.Model):
pass

def GenerateCls(....):
    ...
    return type(name, bases, attr)
1682 次点击
所在节点    Python
2 条回复
ebingtel
2019-07-03 08:40:34 +08:00
code = xxxGetSource(cls),在里面遍历属性、通过 inspect.getsource 拿到 function 的源码……其他的就是格式化的问题了
matrix273
2019-07-03 09:08:30 +08:00
pickle 这个库可以吗?不是很懂。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/579315

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX