파이썬에서 문자열의 처음 몇 글자를 표시하는 방법은 무엇입니까?


88

안녕하세요 저는 방금 파이썬을 배우기 시작했지만 지금은 약간 갇혀 있습니다.

나는이 hash.txt각각 각 행 구분 기호로 구분 MD5, SHA1 및 Sha5에서 악성 코드 해시 파일이 들어있는 수천. 다음은 .txt 파일에서 추출한 두 가지 예제입니다.

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

내 의도는 처음 32 자 (MD5 해시)를 표시하는 것이므로 출력은 다음과 같이 표시됩니다.

416d76b8811b0ddae2fdad8f4721ddbe 56a99a4205a4d6cab2dcae414a5670fd

어떤 아이디어?


7
간단한 Python 소개를 읽고 절반 정도 아래로 스크롤하십시오. "문자열 슬라이싱"은 당신이 원하는 것입니다.
Joel Cornett 2012

11
the_string[:32]
JBernardo 2012

2
문자열 자르는 방법 열려있는 파일에 당신은 이미 읽은하지 않은 경우
세자르

2
아마도 문자열 의 .split().strip()메서드 에도 관심이있을 것입니다 . 예를 들어, md5, sha1, sha5 = line.strip().split("|")예상 할 수있는 작업을 거의 수행합니다.
DSM

1
귀하의 의견에 감사드립니다. 마침내 작동하게되었습니다. 모든 방법을 시도 해봤는데 TankorSmash의 작품이 나에게 가장 편리한 것 같다. 모두의 도움에 감사드립니다!
상승 리

답변:


187

string에서 항목을 가져 오는 것처럼 매우 쉽게 '슬라이스'할 수 있습니다 list.

a_string = 'This is a string'

처음 4 개의 문자를 얻으려면 :

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

또는 마지막 5 :

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

따라서 해당 논리를 문제에 적용하십시오.

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

1
the_string.split ( '|') [0]
세자르

3
@ César : 일반적으로 분할 된 문자열의 첫 번째 부분 만 the_string.split('|', 1)[0].
Eric O Lebigot 2012

16

구분자가 있기 때문에 md5의 길이에 대해 걱정하지 말고 그것을 사용해야합니다.

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

또는

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

2
:-) 가변 길이 해시에 대한 구분 물건 고려 +1
Vinayak Kolagi을

0

문자열의 처음 2 개 문자와 마지막 2 개 문자를 원하면 다음 코드를 사용할 수 있습니다. name = "India" name[0:2]="In" names[-2:]="ia"

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.