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
4 months ago
|
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))
|