Cette fois ci je cherche à lire 4 octets à un endroit bien précis du dump et les afficher en texte.
J'ai essayé ceci:
print('Choisissez le fichier à modifier. (Vous pouvez glisser/déposer votre fichier dans cette fenetre.)')
fichier = input()
file = open (fichier,'rb')
file.seek(138)
file.read(len(4))
data = file.read
print(data)
pin = open ("Votre PIN", 'x')
pin.write(data)
file.close
Problème cela me retour :
TypeError: object of type 'int' has no len()
De ce que j'en comprends c'est que je ne peux pas donner le longueur dans ma ligne file.read.
Merci par avance pour votre aide.
Jon.
EDIT: umfred, j'ai voulu répondre sur mon ancien sujet pour te prévenir que le problème était réglé avec un autre code mais je n'ai pas pu alors j'ai éditer mon message et mis le code qui va bien
read() admet un nombre donnant la quantité d'octets que tu veux lire. Jusque là tout est correct. Mais len(4) veut dire que tu veux savoir la longueur de 4. Mais 4 est un entier (int). len() ne s'applique pas à ce type d'objet. On l'utilise par exemple pour connaîttre la longueur d'une chaîne ou d'une liste. Il fallait mettre data = file.read(4) data = file.read ne sera pas accepté non plus.
Le Tout est souvent plus grand que la somme de ses parties.
Appeler une fonction, c'est des (...): Python ne voit aucune erreur lorsqu'il lit file.close mais sans les parenthèses... la fonction n'est pas appelée.
La programmation est une activité qui nécessite de la rigueur. Votre morceau de code n'a rien de rigoureux. Y remédier au plus vite n'est pas une option si vous désirez vraiment avancer dans ce domaine.
Que font les lignes 5, 7 et 12 d'après vous (il manque quelque chose) ? Pourquoi vous n'utilisez pas les gestionnaires de contexte (with) ? Pourquoi ouvrir vos fichier en mode binaire ?
La programmation est une activité qui nécessite de la rigueur. Votre morceau de code n'a rien de rigoureux. Y remédier au plus vite n'est pas une option si vous désirez vraiment avancer dans ce domaine.
Le pire est que çà vise à remplacer des scripts bash relativement bien écrits (pour ceux qui connaissent) et qui fonctionnent par un code Python tout pourri qui fera la même chose... allez comprendre!
@.H.D.1. oui effectivement je sais que la programmation nécessite de la rigueur , et oui effectivement cela serait plus propre avec with , vais corriger. J'ouvre mes fichier en mode binaire car ce sont des ficher bin et je travaille sur des chaines hexadécimales contenus dans les fichiers.
Lecture de 4 octets
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Le Tout est souvent plus grand que la somme de ses parties.