This program was used to search for files with certain extentions and then to delete them while carefully reporting all errors. The recipe does not accept command-line arguments but works well.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
import os def main(): try: while True: while True: mode = raw_input('Mode: ').lower() if 'search'.startswith(mode): mode = False break elif 'destroy'.startswith(mode): mode = True break print '"search" or "destroy"' path = raw_input('Path: ') extention = raw_input('Extention: ') for path_name in search(path, extention, mode): print 'Found:', path_name except: pass def search(path, extention, destroy): assert os.path.isdir(path) path_list = list() for name in os.listdir(path): path_name = os.path.join(path, name) try: if os.path.isdir(path_name): path_list += search(path_name, extention, destroy) elif os.path.isfile(path_name): if path_name.endswith(extention) or not extention: if destroy: os.remove(path_name) else: path_list.append(path_name) except: print 'Error:', path_name return path_list if __name__ == '__main__': main()
Before creating an archive of your information, it may be helpful to delete all files with a certain extention. Some examples include db, ini, pyc, bak, Before creating an archive of your information, it may be helpful to delete all files with a certain extention. Some examples include db, ini, pyc, bak,
You may want to check out Recipe 576643 for a similar (but inmho more extensible) script with command line options.