Changement donnees hexa en masse avec incrementation
kosteloos
Messages postés
3
Statut
Membre
-
sorlo -
sorlo -
bonjour voila pour être bref je voudrais changer 6 caractères hexa mais dans plusieurs fichiers
je m`explique j`ai conçu ce code :
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
le fichier.dat contient 7AEB02 ensuite remplacer par 7AEB03 puis écrire le nouveau fichier dans fichier2.dat
en gros la suite est de ré-ouvrir fichier2.dat et incrémenter la valeur hexa de 1 est l`écrire dans fichier3.dat ect.....
je bloque sur une boucle apparemment.
merci d`avance de votre aide :)
je m`explique j`ai conçu ce code :
---------------------------------------------------------------------------------------------------
fichier1 = "fichier.dat"
with open(fichier1, "rb") as fs:
contenu = fs.read() # le contenu est de type "bytes" (=octets)
octet1 = bytes.fromhex('7AEB02') # octet à chercher
octet2 = bytes.fromhex('7AEB03') # octet à mettre à la place
index = contenu.find(octet1)
if index<0:
print("Octet non trouvé!")
else:
print("Octet cherché se trouve à l'index:", index)
contenu = contenu[:index] + octet2 + contenu[index+1:]
fichier2 = "fichier2.dat"
with open(fichier2, "wb") as fd:
fd.write(contenu)
---------------------------------------------------------------------------------------------------
le fichier.dat contient 7AEB02 ensuite remplacer par 7AEB03 puis écrire le nouveau fichier dans fichier2.dat
en gros la suite est de ré-ouvrir fichier2.dat et incrémenter la valeur hexa de 1 est l`écrire dans fichier3.dat ect.....
je bloque sur une boucle apparemment.
merci d`avance de votre aide :)
Configuration: Windows / Firefox 68.0
A voir également:
- Changement donnees hexa en masse avec incrementation
- Fuite données maif - Guide
- Renommer des fichiers en masse - Guide
- Changement dns - Guide
- Changement d'heure - Guide
- Trier des données excel - Guide
1 réponse
Bonsoir, quel est l'objectif final ?
Jusqu"à combien doit être augmentée la valeur hexa ?
Je ferai quelque chose comme
Aucunement testé.
Jusqu"à combien doit être augmentée la valeur hexa ?
Je ferai quelque chose comme
hexa = '7AEB02'
octet = bytes.fromhex(hexa)
with open('fichier.dat', 'rb') as fs:
contenu = fs.read()
for i in range(1, 6):
nom2 = 'fichier%i.dat' % i
hexa = hex(int(hexa, 16) + 1)
octet2 = bytes.fromhex(hexa)
with open(nom2, 'rb') as fs:
contenu2 = fs.read()
contenu2 = contenu2.replace(octet, octet2)
with open(nom2, 'wb') as fs:
fs.write(contenu2)
contenu = contenu2
octet = octet2
Aucunement testé.