2016-05-04 5 views
0

Ich habe eine INI-Datei mit Werten wie untenIn Python: unable Variable mit uint32_t zu konvertieren, uint8_t, zu int16_t Wert hexadezimal

[Value1] 
data_type = uint16_t 
value = 0x0001U 


[Value2] 
data_type = uint32_t 
value = 0x00000002UL 

[Value4] 
data_type = uint8_t 
value = 5U 

Ich bin nicht in der Lage, diese Werte in hexadezimal, wie unten Kommentar zu konvertieren: Ich bin leicht in der Lage, .ini-Datei mit configparser zu lesen. Nehmen wir an, ich habe Wert als String in Variable var und ich möchte, dass die String-Variable zu Hexdarstellung

print (hex(var)) #this should print the hexadecimal value 
+0

Wie liest du deine Ini-Datei? –

+0

mit Config-Parser ... das ist kein Problem ... nehmen wir an, ich habe Wert in Variable in String-Form .... Wie sollte ich danach? – user3812837

+0

Dies ist eine wichtige Präzision, ich konnte nicht erraten, was Ihre Variable "Wert" enthielt. Welchen Fehler verursacht Ihr Befehl? –

Antwort

2

konvertieren Dies funktioniert nicht:

var = '0x00000002UL' 
hex(var) 

Da hex() soll im Gegenteil konvertieren Richtung. Stattdessen versuchen Sie dies:

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

Hinweis Sie UL am Ende überspringen müssen, weil die Syntax nicht Python ist.