17db96d56Sopenharmony_ciimport hashlib 27db96d56Sopenharmony_ciimport os 37db96d56Sopenharmony_ciimport sys 47db96d56Sopenharmony_ci 57db96d56Sopenharmony_cidef main(): 67db96d56Sopenharmony_ci filenames, hashes, sizes = [], [], [] 77db96d56Sopenharmony_ci 87db96d56Sopenharmony_ci for file in sys.argv[1:]: 97db96d56Sopenharmony_ci if not os.path.isfile(file): 107db96d56Sopenharmony_ci continue 117db96d56Sopenharmony_ci 127db96d56Sopenharmony_ci with open(file, 'rb') as f: 137db96d56Sopenharmony_ci data = f.read() 147db96d56Sopenharmony_ci md5 = hashlib.md5() 157db96d56Sopenharmony_ci md5.update(data) 167db96d56Sopenharmony_ci filenames.append(os.path.split(file)[1]) 177db96d56Sopenharmony_ci hashes.append(md5.hexdigest()) 187db96d56Sopenharmony_ci sizes.append(str(len(data))) 197db96d56Sopenharmony_ci 207db96d56Sopenharmony_ci print('{:40s} {:<32s} {:<9s}'.format('File', 'MD5', 'Size')) 217db96d56Sopenharmony_ci for f, h, s in zip(filenames, hashes, sizes): 227db96d56Sopenharmony_ci print('{:40s} {:>32s} {:>9s}'.format(f, h, s)) 237db96d56Sopenharmony_ci 247db96d56Sopenharmony_ci 257db96d56Sopenharmony_ci 267db96d56Sopenharmony_ciif __name__ == "__main__": 277db96d56Sopenharmony_ci sys.exit(int(main() or 0)) 28