2017-05-10 13 views
0

ファイルを比較する場合に、今度はファイルの入力パスと2つのファイルを比較することができます。私はそれを自動的に行うことができると思っていますが、時間の経過とともにファイルのパスを入力する必要はありません。たとえば、 私はfile1、file2、file3、file4を持っています 私はfile11、file22、file33、file44を持っています 私はfile1とfile22、file2とfile3、file33とfile4、file44とfile4を比較したい一度。 どうすればいいですか?ありがとう。Python - 2つの異なるフォルダ内でファイルを1つずつ比較する方法

+2

ファイルがまったく同じかどうかを知りたいですか(linuxのdiffを使用してください)?あなたが知りたいことは他に何がありますか? –

+0

私はそれぞれの比較の違いを取得したい、私は現在difflib.Differ()、diff.compare()を訴えている、それは " - "と "+"の違いを持つ第3のXMLファイルを作成することができます。スクリプトは2つのファイルの比較に適していますが、今では複数のファイルを比較するために自動的に実行したいのですが... – Emily

答えて

0

上記のコメントから、ファイルをdiffにしてディレクトリツリーを歩くだけの方法が必要なようです。 os.listdirを調べて、folder1のすべてのファイルをループしてから、ファイルの名前を使用して、2番目のファイルの名前がfolder2にあるかどうかを判断できます。

あなたの例は、おそらくこのようなものです。

for file_name in os.listdir('./folder1'): 
    file_1_path = os.path.join('./folder1', file_name) 
    name, ext = os.path.splitext(file_name) 
    file_2_path = os.path.join('./folder2', name + name[-1] + ext) 
    f1 = open(file_1_path, 'r') 
    f2 = open(file_2_path, 'r') 
    (diff logic here) 
+0

ありがとうございます! – Emily

関連する問題