| 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)) |