最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

Python生成文件的MD5和sha1

来源:动视网 责编:小采 时间:2020-11-27 14:28:01
文档

Python生成文件的MD5和sha1

Python生成文件的MD5和sha1:生成文件的MD5和sha1 #coding=UTF-8 def fil_changefileext(filename,extname=''): # FIL ChangeFileExt 改变文件扩展名 # filename 输入的文件路径名 # extname='' 要更改分扩展名,如 .txt import os
推荐度:
导读Python生成文件的MD5和sha1:生成文件的MD5和sha1 #coding=UTF-8 def fil_changefileext(filename,extname=''): # FIL ChangeFileExt 改变文件扩展名 # filename 输入的文件路径名 # extname='' 要更改分扩展名,如 .txt import os


生成文件的MD5和sha1

#coding=UTF-8
 
def fil_changefileext(filename,extname=''):
 # FIL ChangeFileExt 改变文件扩展名
 # filename 输入的文件路径名
 # extname='' 要更改分扩展名,如 .txt
 import os
 try:
 if extname[0]<>'.':
 extname='.'+extname
 except:
 extname=''
 if os.path.splitext(filename)[1]=='':
 uouttxt=filename+'.'+extname
 elif os.path.splitext(filename)[1]=='.':
 uouttxt=filename+extname 
 else:
 uouttxt=filename[:0-len(os.path.splitext(filename)[1])]+extname
 return uouttxt
 
def fil_str2file(fstr,filename):
 # FIL STR2File 把字符串保存到文件 
 try:
 outfile=open(filename,'w')
 outfile.writelines(fstr)
 outfile.close()
 return True 
 except:
 return False
 
#系统主程序开始
#-------------------------------------------------------
if __name__ == '__main__': 
 import os,sys,math
 # if len(sys.argv)==1:sys.argv.append(r'c:FreeNAS-8.0.4-RELEASE-x.iso')
 if len(sys.argv)>1:
 filepathname=sys.argv[1]
 if os.path.isfile(filepathname) :
 fmaxs = os.path.getsize(filepathname)+0.00
 fpos = 0.00
 ppos=0 
 pmax=50
 pjy=0 
 fmd5=fil_changefileext(filepathname,'.md5')
 fsha1=fil_changefileext(filepathname,'.sha')
 ffm=os.path.basename(filepathname) 
 #开始处理
 print 'Program Runing "'+filepathname+'" ...'
 import hashlib
 try:
 umd5str = hashlib.md5()
 usha1str = hashlib.sha1()
 xfilepathname=unicode(filepathname,'utf8')
 #需要使用二进制格式读取文件内容
 ufile = file(xfilepathname,'rb')
 while True:
 datas = ufile.read(1024*512)
 if not datas: break
 umd5str.update( datas )
 usha1str.update( datas )
 fpos=fpos+1024*512
 ppos=int(math.floor(fpos / fmaxs * 50))
 pposbfh=int(math.floor(fpos / fmaxs * 100))
 #打印进度条
 if pjy<>ppos: print '['+'*'*ppos +'='*(pmax-ppos)+'] '+str(pposbfh) +'%'
 #打印进度问题未解决,不知道print函数怎么退回到行首覆盖
输出,不换行我倒是知道,加个“,” pjy=ppos uoutstrmd5=str(umd5str.hexdigest()) uoutstrsha1=str(usha1str.hexdigest()) ufile.close() print '' fil_str2file(uoutstrmd5+' *'+ffm+' ',fmd5) fil_str2file(uoutstrsha1+' *'+ffm+' ',fsha1) print 'Task is completed !' + r' [ XingHe Studio File to MD5 and SHA1 ]' except: print 'Error !' + r' [ XingHe Studio File to MD5 and SHA1 ]' else: print 'File "'+filepathname+'" not exist!'+ r' [ XingHe Studio File to MD5 and SHA1 ]' else: print r' [ XingHe Studio File to MD5 and SHA1 ]'

文档

Python生成文件的MD5和sha1

Python生成文件的MD5和sha1:生成文件的MD5和sha1 #coding=UTF-8 def fil_changefileext(filename,extname=''): # FIL ChangeFileExt 改变文件扩展名 # filename 输入的文件路径名 # extname='' 要更改分扩展名,如 .txt import os
推荐度:
标签: 产生 File md5
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top