script fichiers binaires lecture écriture

Statesman c.renan at gmail.com
Thu Jun 30 05:09:53 EDT 2005


Je connais mal python et n'est pas trop le temps de m'y plonger bien
que cela semble être assez puissant...

import sys
import ixio
import os

M = ixio.getMAC("eth0")
S = "%08X %08X" % (M[0] | M[1]<<8 | M[2]<<16 | M[3]<<24, M[4] |
M[5]<<8)
K = "Errorin:"
if len(sys.argv) <> 3:
    print "Usage %s <src-file> <dst-file>" % sys.argv[0]
else:
    I = open(sys.argv[1],"rb")#ouverture de tpsd.pre avec le flag rb
pour read in binary mode
    O = open(sys.argv[2],"wb")
    while 1:
        blk = I.read(1<<13)
        try:
                i = blk.index(K)
                blk = "%sErrorin:%s%s" \
                      % (blk[:i],S,blk[i+len(K)+len(S):])
                O.write(blk)
        except ValueError:
                O.write(blk)
        if len(blk)<1<<13:
                break
    O.close()
    I.close()

Voici l'erreur que j'obtiens en essayant d'exécuter ce script:

AttributeError: 'string' object has no attribute 'index'

D'après moi, index est une méthode de la classe string et non un
attribut...Je ne comprend donc pas... Enfin, je précise que je suis
malheureusement en version 1.5 de python... :(

Autre question: 1<<13 est censé être une taille en octet: comment
cela se lit-t-il?

Merci d'avance de m'aclairer sur cette erreur et cette question.




More information about the Python-list mailing list