我无法以我想要的 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相当缺乏经验。我知道如果我不关心动态命名变量,这将很容易做到。
我希望我已经明确了我想要实现的目标!