txt 파일을 기반으로 MD5 해시를 생성하려고합니다.파이썬은 파일에서 리턴 카트리지와 피드 라인을 제거하지 않습니다.
- 인코딩 규칙은 모든 문자가
- 뉴 라인 문자를 소문자 여야 'ISO-8859-1'
- 을해야하며, 그러나, 같은 내가 따라야 할 몇 가지 규칙이있다 해시 빌딩에서 캐리지 리턴 문자를 고려하지 않아야합니다.
내 파일에 새 라인 및 리턴 카트리지를 의미하는\r
및문자가 포함되어 있습니다. 나는rstrip
및strip
함수를 사용하여이 문자를 제거하려고 시도했지만 작동하지 않는 것으로 보입니다. 이것에 관해서는, 나는 txt 파일을 썼고 메모장 ++에서 열었고 아래 그림에서 볼 수 있듯이 여전히 문자가 있습니다.Check the cr and lf characters in that image
\n
를 사용하여 목록을 작성
split
기능을 사용했다. 내 생각처럼, 그들은 그렇습니다.
정말 그 문자를 제거하려면 어떻게해야합니까? 코드의
하나는 내가 노력 :
from hashlib import md5
open_file = open('N0003977.290', 'r', encoding = 'ISO-8859-1')
test_file = open('file_test.txt', 'w')
file_content = open_file.read().lower().rstrip('\n\r ').strip('\n\r')
#writing a txt file to check if there are new line characters
test_file.write(file_content)
test_file.close()
#creating a md5 hash
m = md5()
m.update(file_content.encode('ISO-8859-1'))
print(m.hexdigest())
사용'str.replace' 그 문자를 빈 문자열, 즉'file_content.replace ('\ n', '') .replace ('\ r', '')'로 대체합니다. –
나는 그것을 시도했지만 효과가 없었다. :/ –
어떻게 작동하지 않았습니까? –