123456789101112131415161718192021222324252627282930313233343536373839 |
- #!/usr/bin/env python3
- # -*- coding: utf8 -*-
- import os
- import sys
- import shutil
- import hashlib
- import pathlib
- import argparse
- if __name__ == '__main__':
-
- parser = argparse.ArgumentParser()
- parser.add_argument('-d', '--dir', dest='inputDirectory')
- parser.add_argument('-o', '--out', dest='outputDirectory', default='hashes')
- args = parser.parse_args()
- if not args.inputDirectory:
- sys.exit()
- if not os.path.isdir(args.outputDirectory):
- os.mkdir(args.outputDirectory)
- for filepath in pathlib.Path(args.inputDirectory).rglob('*'):
- if os.path.isdir(filepath):
- continue
- with open(filepath, 'rb') as bytefile:
- hashname = hashlib.sha256(bytefile.read()).hexdigest()
- pathname = os.path.join(args.outputDirectory, hashname)
- if not os.path.isfile(pathname):
- shutil.copyfile(filepath, pathname)
-
-
|