J'essaie de trouver la meilleure façon de déterminer si la machine sur laquelle mon code s'exécute est big-endian ou little-endian. J'ai une solution qui fonctionne (bien que je ne l'ai pas testé sur une machine big-endian), mais il semble un peu maladroit:Quelle est la façon la plus pythonique de déterminer l'endianisme?
import struct
little_endian = (struct.pack('@h', 1) == struct.pack('<h', 1))
Ceci est simplement la comparaison d'un « natif » paquet de deux octets à un peu -Pack pack Y a-t-il une manière plus jolie?
Pourquoi avez-vous besoin de savoir? Votre solution semble assez bonne, mais vous n'avez certainement pas besoin de savoir quand vous utilisez 'struct' lui-même? – u0b34a0f6ae
C'est vrai, mais je n'utilise pas le module struct (peut-être que je devrais l'être, mais je ne suis pas l'auteur original du code que je corrige). –