Python で希望する形式でデータを取得するのに問題があります。
基本的に、バイナリデータを読み取り、そのデータのプロットと分析のための機能を提供するプログラムがあります。
私のデータには、主な見出しと、任意の数のさまざまなデータ型である可能性のある小見出しがあります。
たとえば、次のように自分のデータにアクセスできるようにしたいと思います。
>>> a = myDatafile.readit()
>>> a.elements.hydrogen.distributionfunction
(a big array)
>>> a.elements.hydrogen.mass
1
>>> a.elements.carbon.mass
12
しかし、実行時までアトムの名前はわかりません。
たとえば、すべてのアトム名を読み込んだ後、namedtuple を使用してみました。
self.elements = namedtuple('elements',elementlist)
elementlist は、たとえば ('hydrogen','carbon') などの文字列のリストです。しかし、問題は、たとえば次のようにこれらをネストできないことです。
for i in range(0,self.nelements):
self.elements[i] = namedtuple('details',['ux','uy','uz','mass','distributionfunction'])
そして、たとえば次の方法で値にアクセスできます
self.elements.electron.distributionfunction.
多分私はこれを完全に間違っています。私はPythonにかなり慣れていません。変数に動的に名前を付けることに煩わされなければ、これは簡単にできると思います。
私が達成しようとしていることを明確にしたことを願っています!