2016-12-27 7 views
-1

내가 파이썬에서이 개 파일 사이 DIFF에 노력하고있어 모든 파일에서 작동하지 않는파이썬은 diff

나는이 코드를 사용하여 시도

:

with open(file_1, "r") as file1: 
    with open(file_2, "r") as file2: 
     diff = set(file1).difference(file2) 

with open(file_o, "w") as file_out: 
    for line in diff: 
     file_out.write(line) 
file_out.close() 
if os.path.getsize(file_o) == 0: 
    print "match" 
else: 
    print "does not match" 

하지만 그것을 사용하는 문제에 직면하고 있습니다를, 그것을 모든 파일에서 작동하지 않습니다!

이것은 완전히 이상한 생각입니다. 이유가 무엇입니까? 및 어떻게 해결할 수 있습니까?

라인 순서에 민감하지 않고이 개 파일을 diffing의에 대한 매우 빠른 방법이 있다면, 그것은 작동하지 않는 이유를 우리에게 더 입력을 제공 마십시오

감사

+0

귀하의 목표는 무엇입니까? 2 파일 간의 차이점을보고 싶다면 더 나은 솔루션을 제공하는 다른 도구가 있습니다. – MYGz

+0

일치하는지 확인하고 파일이 일치하지 않으면 출력 파일 –

+0

@MYGz의 차이점을 인쇄하고 싶습니다. 특히 더 빠르면 더 나은 솔루션을 원합니다. 감사합니다 –

답변

0

감사 할 것입니다. 내 머리 꼭대기에서 코드를보고 파일이 열려 있는지 아닌지를 비교하는 것은 위험한 일입니다. 파일의 아이 노드는 비어 있더라도 크기를 가질 수 있습니다. 원한다면 파일 대신 diff가 비어 있는지 확인하여 더 나은 비교를 할 수 있습니다.

+0

실패한 입력 파일에는 특별한 것이 없으며 60 줄의 두 txt 파일이 있고 출력 파일을 검사했으며 그 빈 tho –