Skip to content

Instantly share code, notes, and snippets.

@notareverser
Created April 29, 2022 11:46
Show Gist options
  • Save notareverser/bafe52b74a31c1e188bedb87f70cf2cd to your computer and use it in GitHub Desktop.
Save notareverser/bafe52b74a31c1e188bedb87f70cf2cd to your computer and use it in GitHub Desktop.
Simple script to rename files based on their MD5
#!/usr/bin/env python3
import sys
import argparse
import os
import hashlib
def parseArguments():
parser = argparse.ArgumentParser(description="Rename files based on their MD5")
parser.add_argument('file',
type=argparse.FileType('rb'),
nargs='+')
parser.add_argument('-x', '--extension',
default='file',
help='Extension to rename input files to (default is ".file")')
args = parser.parse_args()
return args
def main():
args = parseArguments()
for f in args.file:
filemd5 = hashlib.md5(f.read()).hexdigest()
newFilename = "{:s}.{:s}".format(filemd5, args.extension)
print("Renaming file {:s} to {:s}".format
(f.name, newFilename),file=sys.stderr)
os.rename(f.name, newFilename)
if __name__ == "__main__":
main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment