Aug-03-2018, 11:02 AM
(This post was last modified: Aug-03-2018, 11:31 AM by Axel_Erfurt.)
Demo_DuplicateFileFinder.py gives an error on my Mint18(Ubuntu 16.04) on
this works for me
to see the names of the files
msg = f'{total} Files processed\n'\ f'{dup_count} Duplicates found\n'
Quote: msg = f'{total} Files processed\n'\
^
SyntaxError: invalid syntax
this works for me
msg = "%s%s%s%s" % (total , ' Files processed\n', dup_count, ' Duplicates found\n')
to see the names of the files
import hashlib import os import PySimpleGUI as sg # ====____====____==== FUNCTION DeDuplicate_folder(path) ====____====____==== # # Function to de-duplicate the folder passed in # # --------------------------------------------------------------------------- # def FindDuplicatesFilesInFolder(path): shatab = [] total = 0 small_count, dup_count, error_count = 0,0,0 pngdir = path dup_files = [] if not os.path.exists(path): sg.MsgBox('Duplicate Finder', '** Folder doesn\'t exist***', path) return pngfiles = os.listdir(pngdir) total_files = len(pngfiles) for idx, f in enumerate(pngfiles): if not sg.EasyProgressMeter('Counting Duplicates', idx + 1, total_files, 'Counting Duplicate Files'): break total += 1 fname = os.path.join(pngdir, f) if os.path.isdir(fname): continue x = open(fname, "rb").read() m = hashlib.sha256() m.update(x) f_sha = m.digest() if f_sha in shatab: # uncomment next line to remove duplicate files # os.remove(fname) dup_count += 1 # sg.Print(f'Duplicate file - {f}') # cannot current use sg.Print with Progress Meter print("Duplicate file:", f) dup_files.append(f) continue shatab.append(f_sha) msg = "%s%s%s%s%s%s" % (total , ' Files processed\n', dup_count, ' Duplicates found\n', '\nDuplicate Files:\n', '\n'.join(dup_files)) sg.MsgBox('Duplicate Finder Ended', msg) # ====____====____==== Pseudo-MAIN program ====____====____==== # # This is our main-alike piece of code # # + Starts up the GUI # # + Gets values from GUI # # + Runs DeDupe_folder based on GUI inputs # # ------------------------------------------------------------- # if __name__ == '__main__': source_folder = None rc, source_folder = sg.GetPathBox('Duplicate Finder - Count number of duplicate files', 'Enter path to folder you wish to find duplicates in') if rc is True and source_folder is not None: FindDuplicatesFilesInFolder(source_folder) else: sg.MsgBoxCancel('Cancelling', '*** Cancelling ***') exit(0)