You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
679 B
28 lines
679 B
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))
|