The following code tries to generate a scoped dictionary for performance checks in two ways. The second one is not possible (see the output below).
_kesch_cn = {}
for device in range(0,8):
_kesch_cn['perf_h2d_%i' % device] = (7213, -0.05, None)
_kesch_cn['perf_d2h_%i' % device] = (7213, -0.05, None)
_kesch_cn['perf_d2d_%i' % device] = (137347, -0.05, None)
self.reference = {
'kesch:cn' : _kesch_cn
}
print(self.reference)
self.reference = {}
self.reference['kesch:cn'] = {}
self.reference['kesch:cn']['perf_xy'] = (0, 1, 2)
print(self.reference)
{'kesch:cn': {'perf_h2d_0': (7213, -0.05, None), 'perf_d2h_0': (7213, -0.05, None), 'perf_d2d_0': (137347, -0.05, None), 'perf_h2d_1': (7213, -0.05, None), 'perf_d2h_1': (7213, -0.05, None), 'perf_d2d_1': (137347, -0.05, None), 'perf_h2d_2': (7213, -0.05, None), 'perf_d2h_2': (7213, -0.05, None), 'perf_d2d_2': (137347, -0.05, None), 'perf_h2d_3': (7213, -0.05, None), 'perf_d2h_3': (7213, -0.05, None), 'perf_d2d_3': (137347, -0.05, None), 'perf_h2d_4': (7213, -0.05, None), 'perf_d2h_4': (7213, -0.05, None), 'perf_d2d_4': (137347, -0.05, None), 'perf_h2d_5': (7213, -0.05, None), 'perf_d2h_5': (7213, -0.05, None), 'perf_d2d_5': (137347, -0.05, None), 'perf_h2d_6': (7213, -0.05, None), 'perf_d2h_6': (7213, -0.05, None), 'perf_d2d_6': (137347, -0.05, None), 'perf_h2d_7': (7213, -0.05, None), 'perf_d2h_7': (7213, -0.05, None), 'perf_d2d_7': (137347, -0.05, None)}}
{'kesch': {'cn': {'perf_xy': (0, 1, 2)}}}