Voici une autre réponse qui devrait Travailler avec toutes les versions de Python à partir de la version 3.x jusqu'à la version 2.0 (version min selon pyqver). Malgré cela, parce qu'il est basé sur une simple table (non dict), il devrait également être relativement rapide.
Une petite installation ponctuelle est nécessaire, mais elle est très simple et évite d'utiliser les nombreuses améliorations qui ont été ajoutées (ou supprimées) en cours de route dans une quête d'indépendance de version.
numerals = "abcdef"
hexadecimal = [i+j for i in numerals for j in numerals]
text = '\x00\x1b\xd4}\xa4\xf3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
print ''.join([hexadecimal[ord(c)] for c in text.rstrip('\0')])
# 001bd47da4f3
«% 02x' serait mieux. –
OK, je l'ai changé pour utiliser% 02x –
+1 parce que c'est la meilleure réponse et ce n'est pas dépendant de la version Python. – martineau