热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Python生成文件的MD5和sha1

生成文件的MD5和sha1#codingUTF-8deffil_changefileext(filename,extname''):#FILChangeFile

生成文件的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[email protected]!ma.com搞$代^码!网7_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 pjyppos: 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 ]'


推荐阅读
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 超级简单加解密工具的方案和功能
    本文介绍了一个超级简单的加解密工具的方案和功能。该工具可以读取文件头,并根据特定长度进行加密,加密后将加密部分写入源文件。同时,该工具也支持解密操作。加密和解密过程是可逆的。本文还提到了一些相关的功能和使用方法,并给出了Python代码示例。 ... [详细]
  • YOLOv7基于自己的数据集从零构建模型完整训练、推理计算超详细教程
    本文介绍了关于人工智能、神经网络和深度学习的知识点,并提供了YOLOv7基于自己的数据集从零构建模型完整训练、推理计算的详细教程。文章还提到了郑州最低生活保障的话题。对于从事目标检测任务的人来说,YOLO是一个熟悉的模型。文章还提到了yolov4和yolov6的相关内容,以及选择模型的优化思路。 ... [详细]
  • 本文介绍了在Python3中如何使用选择文件对话框的格式打开和保存图片的方法。通过使用tkinter库中的filedialog模块的asksaveasfilename和askopenfilename函数,可以方便地选择要打开或保存的图片文件,并进行相关操作。具体的代码示例和操作步骤也被提供。 ... [详细]
  • 本文介绍了使用kotlin实现动画效果的方法,包括上下移动、放大缩小、旋转等功能。通过代码示例演示了如何使用ObjectAnimator和AnimatorSet来实现动画效果,并提供了实现抖动效果的代码。同时还介绍了如何使用translationY和translationX来实现上下和左右移动的效果。最后还提供了一个anim_small.xml文件的代码示例,可以用来实现放大缩小的效果。 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • 在Xamarin XAML语言中如何在页面级别构建ControlTemplate控件模板
    本文介绍了在Xamarin XAML语言中如何在页面级别构建ControlTemplate控件模板的方法和步骤,包括将ResourceDictionary添加到页面中以及在ResourceDictionary中实现模板的构建。通过本文的阅读,读者可以了解到在Xamarin XAML语言中构建控件模板的具体操作步骤和语法形式。 ... [详细]
  • web.py开发web 第八章 Formalchemy 服务端验证方法
    本文介绍了在web.py开发中使用Formalchemy进行服务端表单数据验证的方法。以User表单为例,详细说明了对各字段的验证要求,包括必填、长度限制、唯一性等。同时介绍了如何自定义验证方法来实现验证唯一性和两个密码是否相等的功能。该文提供了相关代码示例。 ... [详细]
  • Python爬虫中使用正则表达式的方法和注意事项
    本文介绍了在Python爬虫中使用正则表达式的方法和注意事项。首先解释了爬虫的四个主要步骤,并强调了正则表达式在数据处理中的重要性。然后详细介绍了正则表达式的概念和用法,包括检索、替换和过滤文本的功能。同时提到了re模块是Python内置的用于处理正则表达式的模块,并给出了使用正则表达式时需要注意的特殊字符转义和原始字符串的用法。通过本文的学习,读者可以掌握在Python爬虫中使用正则表达式的技巧和方法。 ... [详细]
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
  • 本文介绍了一个Python函数same_set,用于判断两个相等长度的数组是否包含相同的元素。函数会忽略元素的顺序和重复次数,如果两个数组包含相同的元素,则返回1,否则返回0。文章还提供了函数的具体实现代码和样例输入输出。 ... [详细]
  • 提升Python编程效率的十点建议
    本文介绍了提升Python编程效率的十点建议,包括不使用分号、选择合适的代码编辑器、遵循Python代码规范等。这些建议可以帮助开发者节省时间,提高编程效率。同时,还提供了相关参考链接供读者深入学习。 ... [详细]
  • 本文介绍了如何使用PHP代码将表格导出为UTF8格式的Excel文件。首先,需要连接到数据库并获取表格的列名。然后,设置文件名和文件指针,并将内容写入文件。最后,设置响应头部,将文件作为附件下载。 ... [详细]
  • 起因由于我录制过一个小程序的课程,里面有消息模板的讲解。最近有几位同学反馈官方要取消消息模板,使用订阅消息。为了方便大家容易学 PythonFlask构建微信小程序订餐系统 课程。 ... [详细]
  • 【技术分享】一个 ELF 蠕虫分析
    【技术分享】一个 ELF 蠕虫分析 ... [详细]
author-avatar
一腕儿本人
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有