Konvertieren einer Ganzzahl in eine 2-byte-Hex-Wert in Python

Für eine tkinter-GUI, die ich Lesen muss, in eine Hex-Adresse in der form '0x00' zu setzen, ein I2C-Adresse. Die Art, wie ich momentan bin, es zu tun ist durch das Lesen der Eingabe als einen string, wandelt den string in einen integer, dann die Umwandlung von Ganzzahl zu einer tatsächlichen Hex-Wert, wie gezeigt, in der teilweisen folgenden code:

GUI Initialisierung:

self.I2CAddress=StringVar()
self.I2CAddress.set("0x00") #Sets Default value of '0x00'
Label(frame, text="Address: ").grid(row=5, column=4)
Entry(frame, textvariable=self.I2CAddress).grid(row=5, column=5)

Dann innerhalb der Funktion:

addr = self.I2CAddress.get()   
addrint = int(addr, 16)  
addrhex = hex(addrint)

Diese funktioniert bei den meisten Werten, aber mein Problem ist, dass wenn ich geben Sie eine kleine Hex-Wert string wie '0x01', er wandelt auf dem richtigen Ganzzahl von 1, das ist dann aber umgewandelt in einen Hex-Wert von 0 x 1 anstelle von 0x01.

Ich bin ein EE und haben sehr wenig Programmier-Erfahrung, so dass jede Hilfe wird sehr geschätzt.

Schreibe einen Kommentar