【发布时间】:2019-10-14 22:49:10
【问题描述】:
我有以下代码:
self.mapping = {
120: A,
216: B,
169: C
}
我想要一种使用十六进制表示字节而不是十进制的方法
一种方法是:
self.mapping = {
bytes.fromhex ('78'): A,
bytes.fromhex ('D8'): B,
bytes.fromhex ('A9'): C
}
但是,当我这样做时,我会收到如下错误消息:
异常:找不到对象 在这条线上: obj = self.mapping.get(测试,无) 如果 obj 为无: 引发异常(“找不到对象”)
在此代码序列的最后一行:
obj = self.mapping.get (byte, None)
if obj is None:
raise Exception ("Obj not found")
另外,据我所知,这不适用于旧 Python。所以我想要一个在 3.2 和更新版本之外的 2.6 上工作的解决方案。 我读到 bytestream 可能是处理十六进制值的解决方案,但我不确定它是否可以与字典一起使用,如果可以,语法会如何。
感谢您的帮助
【问题讨论】:
-
谢谢,更改代码以使用它。
标签: python dictionary hex