myClass属性之一与QListWidget的拖放事件不兼容。获取此AssertionError:
assert id(obj) not in self.memo
我需要跟踪/确定哪个myClass属性负责AssertionError,然后在将其实例作为listItem数据分配给QListWidget之前将其删除(稍后将listItem拖动和拖放时导致AssertingError)。
myClass中有100多个attrs。而且我找不到筛选显然不负责AssertionError的属性的方法。
print dir(myClassInstance)
仅打印属性的名称,但不打印其类型。
同样的无用信息来自
attributes = [attr for attr in dir(myClassInstance) if not attr.startswith('__')]
理想情况下,我希望看到myClass属性的名称及其类型:它是方法,这是一个字符串..这是另一个类的实例,等等。
考虑使用inspect.getmembers()
:
>>> import inspect
>>> from datetime import datetime
>>> now = datetime.now()
>>> inspect.getmembers(now)
[('__add__', <method-wrapper '__add__' of datetime.datetime object at 0x105754ee0>),
...
('weekday', <built-in method weekday of datetime.datetime object at 0x105754ee0>), ('year', 2014)]
您还可以传递一个predicate
有助于过滤列表的参数,例如:
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句