#!/usr/bin/env python # -*- coding: utf-8 -*- """ File Recognizer =============== This tool tries to aid in recognizing files after they were recovered (e.g. after a hard drive failure) with some software that left them uniformly named. It grabs the output of the UNIX ``file`` utility (a Windows binary is available from ``http://gnuwin32.sourceforge.net/``) and moves files with a specified type into accordant subdirectories. Run it in the directory where the files are in. Make backups before doing so! :Copyright: 2006 Jochen Kupperschmidt :Date: 30-May-2006 :License: MIT """ import os # Define a file types to move to subfolders (which will be created if not yet # existing) if `file`'s output starts with one of these strings. TYPES = set(('JPEG', 'TIFF', 'PNG')) if __name__ == '__main__': # Create folders. for folder in TYPES: if not os.path.isdir(folder): os.mkdir(folder) for entry in os.listdir('.'): if not os.path.isfile(entry): continue detected = os.popen('file -b -n -p %s' % entry).read() for type in TYPES: if detected.startswith(type): os.rename(entry, os.path.join(type, entry)) break