2016-12-27 28 views
-1

我試圖把分差在Python 2個文件之間工作Python的差異並沒有在所有文件

我使用此代碼嘗試:

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

確實給我們更多的投入,爲什麼它不工作。在我的頭頂,查看你的代碼比較,看看文件是否打開是很冒險的。文件的inode可以有一個大小,即使它是空的。如果你願意,你可以做的是檢查差異是否是空的,而不是文件,這可以做出更好的比較。

+0

沒有什麼特別的關於輸入文件的失敗,有2個兩個60行的txt文件,我檢查了輸出文件,其空的壽 –

相關問題