Seite 1 von 1

newbie question [ m.digest ]

Verfasst: Montag 16. April 2007, 17:20
von m0wm0w
sochen, hoffe ihr nimmt mir das hier nicht übel, da ich
in python sogut wie garkeine erfahrung habe, war ich auf der
suche nach einer deutschen community, die mir vielleicht
bei meiner frage behilflich sein könnte, mir geht es darum
einen teil von einem script zu "übersetzen" ( ich schreibe mir
sozusagen den teil des scriptes nochmal, nur in perl, statt in python ).

das problem taucht hier auf :

Code: Alles auswählen

m = md5.new()
       m.update(rec[2:0])
       digest = m.digest()
m.update(rec[2:0]), updated ja mein md5-objekt mit dem string in rec, aber was bewirkt die [2:0] ? ich vermute mal die ersten 2 zeichen des strings vielleicht, aber http://docs.python.org/lib/module-md5.html hat mir auch nicht viel gebracht.

ich bedanke mich schonmal mal für eure postings im vorraus,

mit freundlichen grüßen, m0w

Verfasst: Montag 16. April 2007, 17:43
von BlackJack
Bist Du sicher das es nicht ``[0:2]`` ist? Ansonsten bekommst Du immer eine leere Zeichenkette und das `update()` macht gar nichts. Also vorausgesetzt `rec` ist eine Zeichenkette.

Du hast richtig vermutet, das man so einen Teil einer Sequenz auswählen kann:

Code: Alles auswählen

[In [53]: rec = 'abcd'

In [54]: rec[2:0]
Out[54]: ''

In [55]: rec[0:2]
Out[55]: 'ab'

Verfasst: Montag 16. April 2007, 18:20
von m0wm0w
danke für deine antwort, was würde dann ``[0:2]`` demnach anstellen?

Verfasst: Montag 16. April 2007, 18:31
von BlackJack
Damit wählt man von 2 bis 0 aus, das ist aber immer die leere Zeichenkette weil der Anfang grösser ist als das Ende. Das schrob ich doch aber schon und im Beispiel ist es auch deutlich zu sehen!?

Verfasst: Montag 16. April 2007, 18:51
von m0wm0w
jo klar hast du das, ich habe nicht aufgepasst, dachte es würde sich was ändern wenn man statt [2:0], ``[2:0]`` schreibt ( ich hab auf die `` geachtet, deswegen ).