Nea*_*ers 2 python google-app-engine loops
如何遍历内存中加载的所有类的列表?我正在考虑做备份,寻找从db.Model(Google App Engine)继承的所有类.
谢谢,Neal Walters
在"普通"Python中,您可以通过标准库模块的gc.getobjects()功能访问所有对象gc; 它是那么很容易对他们的循环,检查哪一个是类(而不是实例或别的-我相信你的意思实例类,但你可以很轻松地让自己过,如果这真的是你想要什么类),等等
不幸的是,gcApp Engine中的模块没有实现getobjects- 这使得到达所有类非常困难.例如,通过调用创建的类:
def makeaclass():
  class sic(object): pass
  return sic
并隐藏在某个地方的列表中,很难达到.
但幸运的是,既然你在问题的文本中说你只关心子类db.Model,那就更容易了gc:
for amodel in db.Model.__subclasses__():
   ...
只需确保明确忽略您不关心的类,例如Expando;-).
请注意,这个DOES只提供了CLASSES,而不是实例 - 如果那些是您真正想要的,那么没有类似的简单快捷方式!
| 归档时间: | 
 | 
| 查看次数: | 1986 次 | 
| 最近记录: |