| import hashlib | |
| import os | |
| import sys | |
| def main(): | |
| filenames, hashes, sizes = [], [], [] | |
| for file in sys.argv[1:]: | |
| if not os.path.isfile(file): | |
| continue | |
| with open(file, 'rb') as f: | |
| data = f.read() | |
| md5 = hashlib.md5() | |
| md5.update(data) | |
| filenames.append(os.path.split(file)[1]) | |
| hashes.append(md5.hexdigest()) | |
| sizes.append(str(len(data))) | |
| print('{:40s} {:<32s} {:<9s}'.format('File', 'MD5', 'Size')) | |
| for f, h, s in zip(filenames, hashes, sizes): | |
| print('{:40s} {:>32s} {:>9s}'.format(f, h, s)) | |
| if __name__ == "__main__": | |
| sys.exit(int(main() or 0)) |