1
파이썬으로 파일을 생성하는 스크립트가 있는데, 경우에 따라 스크립트가 윈도우에있는 파이썬과 함께 실행되고 다른 경우에는 cygwin의 파이썬으로 실행됩니다.Windows의 파이썬과 Cygwin의 파이썬으로 생성 된 파일의 차이점
파일의텍스트는 동일하지만 difflib를 사용하는 경우,
gen_file_data = open(gen_file)
base_file_data = open(base_file)
gen_file_content = gen_file_data.read().splitlines(True)
base_file_content = base_file_data.read().splitlines(True)
gen_file_data.close()
base_file_data.close()
diff = difflib.unified_diff(gen_file_content, base_file_content, n=0)
diff = ''.join(diff)
파일이 다릅니다.
그리고 md5를 사용하면 다른 해시를 얻습니다. 내가 kdiff3
와 파일을 비교하면 나는 두 파일 사이의 텍스트 diferences를 comparate 수있는 방법을
import hashlib
base_md5 = hashlib.md5(base_file_content).hexdigest()
gen_md5 = hashlib.md5(gen_file_content).hexdigest()
print gen_md5, base_md5
나는 하나의 창 파이썬으로 생성 된 윈도우와 다른 파이썬 생성?
Files A and B have equal text, but are not binary equal.
를 얻을.
줄 끝이 나는 것 같습니까? 덕분에'.rplace '('\ r \ n ','\ n ')'파일 내용에 Windows를 추가하고 Windows 환경에서는'\ r \ n '을 사용하고 unix (cygwin에서 에뮬레이트)는'\ n '을 사용합니다. – user590028
@ user590028 문제를 해결. – JuanPablo
@ user590028 제발, 당신은 대답으로 귀하의 의견을 넣을 수 있습니까? 질문을 닫으십시오. – JuanPablo