在 python 中:无法将具有 uint32_t、uint8_t、int16_t 值的变量转换为十六进制

In python: unable to convert variable with uint32_t, uint8_t, int16_t value to hexadecimal

我有一个 .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 

这行不通:

var = '0x00000002UL'
hex(var)

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

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

请注意,您需要跳过末尾的 UL,因为那不是 Python 语法。