0

我有一个 .ini 文件,其值如下

[Value1]
data_type = uint16_t
value = 0x0001U


[Value2]
data_type = uint32_t
value = 0x00000002UL

[Value4]
data_type = uint8_t
value = 5U

我无法将这些值转换为十六进制,如下评论:我可以使用 configparser 轻松读取 .ini 文件。假设我在变量 var 中有值作为字符串,我想将该字符串变量转换为十六进制形式

print (hex(var)) #this should print the  hexadecimal value 
4

1 回答 1

2

这不起作用:

var = '0x00000002UL'
hex(var)

因为hex()是为了向相反的方向转换。相反,试试这个:

var = '0x00000002UL'
int(var[:-2], 16)

请注意,您需要跳过UL最后的 ,因为这不是 Python 语法。

于 2016-05-04T08:47:48.257 回答