Ich arbeite an einer kleinen Python-Methode, die ein Wörterbuch aus einer anderen Datei lesen muss, die den Schlüssel und Werte darstellt.Python-Wörterbuch wandelt Hexadezimalzahlen automatisch in Dezimalzahlen um?
Aber es scheint, dass ich ein Problem mit der Darstellung der Zahlenwerte, die ich über sende, habe. Zum Beispiel würde einige Schlüssel in meinem Wörterbuch wie folgt aussehen:
id_dict = {
'val_a': 0x0000,
'val_b': 0x1000
}
Aber ich merkte, dass, wenn ich durch das Wörterbuch zu wiederholen versuchen, die hexadezimale mit dem Dezimalwert ersetzt wird. Selbst im Original id_dict.py
, wo sich das Wörterbuch befindet, werden die Zahlen automatisch von hex konvertiert.
Das ist mein Ergebnis zu versuchen, durch sie durchlaufen:
for k,v in id_dict.items():
print(k,v)
#Results
val_a 0
val_b 4096
Kann mir jemand sagen, warum die Werte in dezimaler Form dargestellt werden und nicht in der hexadezimalen Form, dass sie ursprünglich gespeichert sind in? Danke im Voraus!
Und wenn es eine Möglichkeit gibt, die automatische Konvertierung zu stoppen, wäre das auch gut zu verstehen!
Und wenn Sie immer sicherstellen möchten, dass führende Nullen angezeigt werden, verwenden Sie [Format-String-Syntax] (http://docs.python.org/3/library/string.html#formatstrings): 'print (" {: 04x} ". format (1)') –
Ah! sehr cool. Danke für diese Information! –