1. 程式人生 > >用python計算出大檔案的md5碼,某路徑下所有檔案的md5碼

用python計算出大檔案的md5碼,某路徑下所有檔案的md5碼

#coding:utf-8 #md5check.py #讀檔案,轉成md5碼 #如沒有檔案路徑,則詢問 #是檔案,返回md5碼 #是路徑把其下所有檔案返回md5碼 #參考:http://www.joelverhagen.com/blog/2011/02/md5-hash-of-file-in-python/

import hashlib import sys import os def md5Checksum(filePath): fh = open(filePath,'rb') m = hashlib.md5() whileTrue: data = fh.read(8192

) ifnot data: break m.update(data) fh.close() return m.hexdigest() def pathispath(ps_path): if os.path.isfile(ps_path): pa_path=os.path.split(ps_path) print' '*32,pa_path[0] print md5Checksum(ps_path), print pa_path[1] else: if os.path.isdir(ps_path): for ps_one in os.walk(ps_path
): print' '*32,ps_one[0] for ps_file in ps_one[2]: print md5Checksum(os.path.join(ps_one[0],ps_file)), print ps_file if __name__ =='__main__': ls_file='' if len(sys.argv)>1: ls_file=sys.argv[1] if''==ls_file: ls_file=raw_input('filepath?:') if os.path.exists(ls_file): #if os.path.isfile(ls_file):
# print md5Checksum(ls_file) #else: # if os.path.isdir(ls_file): # pathispath(ls_file) pathispath(ls_file) else: print'not filepath!'