L'écriture des données binaires dans un fichier en Python

Je suis en train d'écrire des données (texte, de données à virgule flottante) pour un fichier en binaire, ce qui est d'être lu par un autre programme plus tard. Le problème est que ce programme (dans Fort95) est incroyablement particulier; chaque octet doit être exactement au bon endroit pour que le fichier soit lu correctement. J'ai essayé à l'aide d'Octets objets et .encode() pour écrire, mais je n'ai pas eu beaucoup de chance (je peux dire de la taille du fichier que c'est de l'écriture extra-octets de données). Certains code que j'ai essayé:

mgcnmbr='42'
bts=bytes(mgcnmbr)
test_file=open(PATH_HERE/test_file.dat','ab')
test_file.write(bts)
test_file.close()

J'ai aussi essayé:

mgcnmbr='42'
bts=mgcnmbr.encode(utf_32_le)
test_file=open(PATH_HERE/test_file.dat','ab')
test_file.write(bts)
test_file.close()

Pour préciser, ce que j'ai besoin est le nombre entier de valeur 42, écrit comme un 4 octet binaire. Ensuite, je voudrais écrire les nombres de 1 et de 0 à 4 octets binaires. À ce stade, je devrais avoir exactement 12 octets. Chacun est un 4 octets entier signé, écrit en binaire. Je suis assez nouveau à Python, et ne semble pas possible de l'obtenir pour fonctionner. Toutes les suggestions? Soemthing comme cette? J'ai besoin d'un contrôle complet sur combien d'octets chaque entier (et plus tard, virgule flottante de 4 octets ).

Grâce

Regarder dans struct.pack dans la stdlib.
stackoverflow.com/questions/29834047/...

OriginalL'auteur Schafer | 2014-08-06