Created
October 5, 2010 03:10
-
-
Save EnigmaCurry/610923 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import md5 | |
import sys | |
def sumfile(fobj): | |
'''Returns an md5 hash for an object with read() method.''' | |
m = md5.new() | |
while True: | |
d = fobj.read(8096) | |
if not d: | |
break | |
m.update(d) | |
return m.hexdigest() | |
def md5sum(fname): | |
'''Returns an md5 hash for file fname, or stdin if fname is "-".''' | |
if fname == '-': | |
ret = sumfile(sys.stdin) | |
else: | |
try: | |
f = file(fname, 'rb') | |
except: | |
return 'Failed to open file' | |
ret = sumfile(f) | |
f.close() | |
return ret | |
# if invoked on command line, print md5 hashes of specified files. | |
if __name__ == '__main__': | |
for fname in sys.argv[1:]: | |
print '%32s %s' % (md5sum(fname), fname) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment