2016-12-27 5 views
-1

に動作していない私は、このコードを使用してみました:Pythonのdiffは私のpython</p> <p>で2つのファイル間の差分にしようとしているすべてのファイルに

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" 

しかし、私はそれを使用して、問題に直面しています、それをすべてのファイルで動作しません!

これはまったく奇妙なことです。理由は何ですか? 、どうすれば修正できますか?

ライン順に敏感せずに2つのファイルを差分のためのいずれかの非常に高速な方法がある場合は、それが動作しない理由として、私たちに多くの入力を与えてください

おかげ

+0

あなたの目標は何ですか? 2つのファイルの違いを見たい場合は、より優れたソリューションを提供するツールがあります。 – MYGz

+0

ファイルが一致しない場合は一致しているかどうかを確認したい場合は、出力ファイル –

+0

@MYGzに出力する必要があります。特に高速であれば、より良いソリューションをご希望です。ありがとう –

答えて

0

感謝するでしょう。私の頭の上から離れて、あなたのコードを見て、ファイルが開いているかどうかを比較するのは簡単です。ファイルのiノードは、空でもサイズを持つことができます。もしあなたが望むのであれば、ファイルよりもdiffが空であるかどうかを調べれば、より良い比較をすることができます。

+0

失敗した入力ファイルについて特別なことは何もない、60行の2つのtxtファイルがあり、出力ファイルをチェックし、その空のthoファイル –

関連する問題