Python:从JSON读取十六进制数字并传递给库

问题描述 投票:0回答:2

当我分配hex_no = 0x67之类的变量并将其传递给所需的库时,它可以正常工作。但是,如果我从JSON文件中检索0x67,则其类型为字符串,并且我不知道如何将其更改为与该行hex_no = 0x67相同的格式。从json读取时,如何将其转换为相同格式?

这是json文件的示例

{ “测量”:“压力”, “ i2c_address”:“ 0x67”, “ device_type”:“ N”}

python json hex
2个回答
1
投票

当您将0x67或任何其他十六进制数传递给所需的库时,实际上是在传递整数。您可以通过以下方法进行检查:

>>> type(0x67)
<class 'int'>

因此,您需要将该数字(即字符串)的十六进制表示形式转换为本身的整数。您可以通过使用int类,将16作为base参数传递给其构造函数来实现。

num = int('0x67', 16)

0
投票

您可以使用以下内容:

int(hex_no, 16)

请参阅int及其基本参数的文档。

如果您希望将其作为字符串,则将其包装在hex()中。

© www.soinside.com 2019 - 2024. All rights reserved.