当我分配hex_no = 0x67之类的变量并将其传递给所需的库时,它可以正常工作。但是,如果我从JSON文件中检索0x67,则其类型为字符串,并且我不知道如何将其更改为与该行hex_no = 0x67相同的格式。从json读取时,如何将其转换为相同格式?
hex_no = 0x67
这是json文件的示例
{ “测量”:“压力”, “ i2c_address”:“ 0x67”, “ device_type”:“ N”}
当您将0x67或任何其他十六进制数传递给所需的库时,实际上是在传递整数。您可以通过以下方法进行检查:
0x67
>>> type(0x67) <class 'int'>
因此,您需要将该数字(即字符串)的十六进制表示形式转换为本身的整数。您可以通过使用int类,将16作为base参数传递给其构造函数来实现。
int
base
num = int('0x67', 16)
您可以使用以下内容:
int(hex_no, 16)
请参阅int及其基本参数的文档。
如果您希望将其作为字符串,则将其包装在hex()中。
hex()