cffi を使用して、ヘッダー ファイルから列挙型の完全なリストを取得したいと考えています。しかし、奇妙な動作が見られます。オブジェクトを観察することで、基になる の変更を強制しています__dict__
:
>>> from cffi import FFI
>>> ffi = FFI()
>>> ffi.cdef('typedef enum {RANDOM, IMMEDIATE, SEARCH} strategy;')
>>> c = ffi.dlopen('c')
# the dictionary is empty
>>> print c.__dict__
{}
>>> dir(c)
# the dictionary is populated
>>> print c.__dict__
{'SEARCH': 2, 'RANDOM': 0, 'IMMEDIATE': 1}
__dict__
クラスで最初に呼び出されるまでは入力されないと思いますgetattr()
が、実際の問題は次のとおりです。呼び出しも同じようです。dir()
__dict__
hasattr()