私は に慣れてPython
いませんが、言語が大好きです!
sqlite3
のファイルへのパスと のファイルを含む巨大なデータベースがありrow 0
ます。MD5
row 3
に基づいて重複ファイルを検索する必要があり、MD5
次のようにこれらの重複を整理したいと思いdictionaries
ます。
{"b23e5d453643f66b68634d0204884cdf":an array of all paths that have the same MD5, like the one that is the key of this dictionary}
次のコードを使用してデータベースを検索し、tuples
.
db = sqlite3.connect('imges.db')
with db:
cur = db.cursor()
cur.execute("SELECT * FROM IMAGES")
while True:
row = cur.fetchone()
if row == None:
break
self.duplesOfMD5 = [[row[3]],[row[0]]]
print self.duplesOfMD5
それは私に次の出力を与えます:
[[u'b23e5d453643f66b68634d0204884cdf'], [u'/Volumes/Backup/images_to_test/File_one_copy.png']]
[[u'b23e5d453643f66b68634d0204884cdf'], [u'/Volumes/Backup/images_to_test/File_one.png']]
[[u'f0b4108172c50f243d9e0132df4703a0'], [u'/Volumes/Backup/images_to_test/File_with_no_duplicate.png']]
非常に適切で、パフォーマンスがひどい場合に私が試したすべての可能な解決策。これを行うための最良のPythonicの方法は何ですか?
ありがとうございました!