Salut,
Envoyé par
poseidon31
Si je sais en qu'elle position est mon octet dans le fichier binaire, comment est ce que je fais pour aller le lire ???
Et ensuite comment est ce que je peux bien faire pour modifier cet octet toujours a son emplacement dans le fichier ???
C'est un exo. à faire avec la console Python.
On commence par créer un fichier binaire:
1 2 3 4
| >>> f = open('test.dat', 'wb')
>>> f.write(b'01234567890123456789')
20
>>> f.close() |
Puis on le réouvre "en mise à jour":
>>> f = open('test.dat', 'rb+')
Puis on a deux fonctions primitives pour contrôler la position du prochain octet à lire:
1 2 3
| >>> f.tell() # la position courante
0
>>> f.seek(5) # pour se déplacer (par défaut depuis le début du fichier). |
Si on lit un octet, la position de l'octet suivant à lire sera +1:
1 2 3 4 5
| >>> f.read(1)
b'5'
>>> f.tell()
6
>>> |
donc pour "écraser" après avoir vérifier que, il faut "repositionner" avec .seek:
1 2 3 4 5
|
>>> f.seek(-1, 1)
5
>>> f.write(b'X')
1 |
Puis on ferme le fichier et on regarde si la modification a été prise en compte:
1 2 3 4
| >>> f.close()
>>> open('test.dat', 'rb').read()
b'01234X67890123456789'
>>> |
- W
Partager