解決法このコメントの下にあるEDITを参照してください。Pythonを使用して異なる拡張子を持つ重複ファイルを見つける
問題:は、私は以下のように画像のヒープとディレクトリ、名前の何かを持っている:
- image001.nef
- image002.nef
- image003.nef
- image003 - 20170609.jpg
- image004.nef
- image005.nef
- image006 - 20170609.nef
- image007.nef
- image007 - 20170609.jpg
- image008.jpg
- image008 - 20170609.nef
重複したベース名(imageXXXなど)のすべての画像を検索し、拡張子はJPG
です私の上記のリストから、削除する条件に一致するアイテムは3つしかありません(の太字はです)。
私は2,500枚の画像を持っていますので、私は手動で通過するのが望ましいです。
使用するサンプルスクリプトを見つけるのに苦労しています。私が見つけたものはすべて、ハッシュなどをチェックしていますが、画像は実際に似ていますが同一ではないと思います。
乾杯
編集:私はここに...私が望む出力を得ることができた仲の良い友達にする おかげで私のために働いていた最終的なコードです:
考えるimport os
directory = r'C:\temp'
out_directory = r'C:\temp\temp_usa_photos'
fns = os.listdir(directory)
ref_nef = {fn[0:15] for fn in fns if fn.upper().endswith('.NEF')}
print ref_nef
out_list = filter(lambda e: e[0:15] in ref_nef, [fn for fn in fns if fn.upper().endswith('.JPG')])
print out_list
for f in out_list:
input_file = os.path.join(directory, f)
output_file = os.path.join(out_directory, f)
os.rename(input_file, output_file)
あなたは今まで何をしていますか? – moritzg
ファイル名に基づいてのみ削除する必要がありますか?私はあなたがすべての画像をループしてベース名を抽出し、dict/listに書き込んだり、さらに重複したものをすべて取り除いたりするのを防ぐことはできません。 – Euphe
@moritzg私はちょうど元のコメントにコードを追加しました – Benno