Pythonのgetattr()を使用して、制御していないさまざまなAPIから取得した多数のオブジェクトからデータを抽出しようとしています。私のアイデアは、異種オブジェクトのリストを調べて、必要なものをすべて引き出すまで、それらに対してgetattr()を試行することでした。
だから私はこれらの1つをやっています:
if hasattr(o, required_field):
value = getattr(o, required_field)
result.append([required_field, value])
print 'found field', field, 'for value', value
私の問題は、私が扱っているオブジェクトにobject.data()とsometiemsobject.dataがあります。これらのオブジェクトは実際にはジェネレーターである場合があります。
だから時々私はこのようなものを手に入れるでしょう:
found field ValueOfRisk for value
CellBM:<Instrument:/limbo/WLA_YdgjTdK1XA2qOlm8cQ==>.ValueOfRisk>
質問:「データメンバーの場合はデータメンバーにアクセスする、関数の場合は関数を呼び出す」と言って、これらから値を取り出す方法はありますか?このようにPythonで簡単にできるはずですが、私はそれを見つけることができません。