【Python】使用Python生成文件的MD5和sha1
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了【Python】使用Python生成文件的MD5和sha1,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2360字,纯文字阅读大概需要4分钟。
内容图文
使用Python生成文件的MD5和sha1
- [代码]生成文件的MD5和sha1
#coding=UTF-8
# www.iplaypy.com python
# XingHe Studio File to MD5 and SHA1
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-x64.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+'\n',fmd5)
fil_str2file(uoutstrsha1+' *'+ffm+'\n',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 ]'
资源分享qun-855408893 教程视频,工具,各类实战操作
内容总结
以上是互联网集市为您收集整理的【Python】使用Python生成文件的MD5和sha1全部内容,希望文章能够帮你解决【Python】使用Python生成文件的MD5和sha1所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。