web-gelistirme-sc.com

Python'da bir dizgenin ilk birkaç karakteri nasıl gösterilir?

Merhaba, Python'u daha yeni öğrenmeye başladım ama şu anda biraz sıkışıp kaldım. 

Sırasıyla her satırdaki sınırlayıcılarla ayrılmış MD5, Sha1 ve Sha5'teki binlerce kötü amaçlı yazılım karma içeren hash.txt dosyam var. Aşağıda .txt dosyasından çıkardığım 2 örnek satır var.

416d76b8811b0ddae2fdad8f4721ddbe | d4f656ee006e248f2f3a8a93a8aec5868788b927 | 12a5f648928f8e0b5376d2cc07de8e4cbf9f7ccbadb97d898373f85f0a75c47f 56a99a4205a4d6cab2dcae414a5670fd | 612aeeeaa8aa432a7b96202847169ecae56b07ee | d17de7ca4c8f24ff49314f0f342dbe9243b10e9f3558c6193e2fd6bccb1be6d2

Niyetim ilk 32 karakteri (MD5 karması) göstermektir, böylece çıktı şöyle görünecektir:

416d76b8811b0ddae2fdad8f4721ddbe 56a99a4205a4d6cab2dcae414a5670fd

Herhangi bir fikir?

67
Rising Lee

Bir string öğesini çok kolay bir şekilde 'dilimleyebilirsiniz', tıpkı bir list öğesinden çekeceğiniz gibi:

a_string = 'This is a string'

İlk 4 harfi almak için:

first_four_letters = a_string[:4]
>>> 'This'

Veya son 5:

last_five_letters = a_string[-5:]
>>> 'string'

Yani bu mantığı probleminize uygulamak:

the_string = '416d76b8811b0ddae2fdad8f4721ddbe|d4f656ee006e248f2f3a8a93a8aec5868788b927|12a5f648928f8e0b5376d2cc07de8e4cbf9f7ccbadb97d898373f85f0a75c47f '
first_32_chars = the_string[:32]
>>> 416d76b8811b0ddae2fdad8f4721ddbe
148
TankorSmash

Sınırlayıcı olduğundan, md5'in ne kadar süreceği konusunda endişelenmek yerine bunu kullanmalısınız.

>>> s = "416d76b8811b0ddae2fdad8f4721ddbe|d4f656ee006e248f2f3a8a93a8aec5868788b927|12a5f648928f8e0b5376d2cc07de8e4cbf9f7ccbadb97d898373f85f0a75c47f"
>>> md5sum, delim, rest = s.partition('|')
>>> md5sum
'416d76b8811b0ddae2fdad8f4721ddbe'

Alternatif olarak

>>> md5sum, sha1sum, sha5sum = s.split('|')
>>> md5sum
'416d76b8811b0ddae2fdad8f4721ddbe'
>>> sha1sum
'd4f656ee006e248f2f3a8a93a8aec5868788b927'
>>> sha5sum
'12a5f648928f8e0b5376d2cc07de8e4cbf9f7ccbadb97d898373f85f0a75c47f'
12
John La Rooy

Bir dizenin ilk 2 harfini ve son 2 harfini istiyorsanız, aşağıdaki kodu kullanabilirsiniz: name = "India" name[0:2]="In" names[-2:]="ia"

0
Darshan Jain