Statesman wrote in comp.lang.python: <en> Hi Statesman comp.lang.python is the english-speaking Python forum. You may want to try the french-speaking one at fr.comp.lang.python (xpost and fu2 set) </en>
> 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... En Python, les fonctions sont des objets comme les autres. Donc les methodes sont effectivement des attributs... (bon, dans le détail c'est un poil plus compliqué que ça, mais là je te laisse consulter la doc... si tu tiens vraiment à comprendre tous les détails d'implémentation) > Enfin, je précise que je suis > malheureusement en version 1.5 de python... :( Euh... la dernière est la 2.4.1, il serait peut-être temps d'envisager une mise à jour. En attendant, dans la 1.5.x, tu peux utiliser le module String: import String s = "allo" String.index(s, "a") (de mémoire, pas testé). > Autre question: 1<<13 est censé être une taille en octet: comment > cela se lit-t-il? opérateur de décalage de bits... 1 << 13 == 8192 > Merci d'avance de m'aclairer sur cette erreur et cette question. HTH -- bruno desthuilliers python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for p in '[EMAIL PROTECTED]'.split('@')])" -- http://mail.python.org/mailman/listinfo/python-list