从值python获取密钥

2024-06-28 20:08:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个txt文件,里面有很多这样的行

369136986 cms_trk_dcs_05:CAEN/CMS_TRACKER_SY1527_8/branchController05/easyCrate1/easyBoard03/channel002

两列中第一列有数字,第二列是属性用/分隔的行,这两列都用空格分隔。在

字典中的did是 第一个数字出现在行(^{{},^{{}})这把钥匙有作为一个价值的另一本字典,其中的钥匙是cmstrk,^{},branchcrateboardboardcms_trk_dcs_05:CAENcms_trk_dcs_05:CAEN,^{},^{{},^{},^{{},^{{},^{},^{},},},^{{cmstrk(key2)要369136986(key1)它返回cms_trk_dcs_05(value)。在

我如何通过给出值来获得密钥?我的意思是如果我给值CMS_TRACKER_SY1527_8,我需要知道哪个key1对应(程序应该返回369136986)。在

这就是我所尝试的:

^{pr2}$

但它回来了

TypeError: unhashable type: 'dict'

我怎么才能拿到第一把钥匙?在


Tags: 文件boardtxt字典cms数字tracker钥匙
1条回答
网友
1楼 · 发布于 2024-06-28 20:08:02

m是在HVInfoDict[l]中复述的整个词典。。你需要看看m里面的值。在

HVInfoDict = {
    369136986: {
        'cmstrk': 'cms_trk_dcs_05:CAEN',
        'trackersy': 'CMS_TRACKER_SY1527_8',
        'branch': 'branchController05',
        'crate': 'easyCrate1',
        'board': 'easyBoard03',
        'channel': 'channel002'
    }
}

input3 = raw_input("Write the property(s) which modules connected you want to know, separated by a single space \n > ")
input_list3 = input3.split(' ')
for k in input_list3:
    print "%r" % k
    txt.write("\t\n The modules with property %r are:\n" % k)
    for l,m in HVInfoDict.items():
        if k in m.values():
            print l
        else:
            print("Does not exist!")

输出:

^{pr2}$

相关问题 更多 >