Python產生檔的MD5和sha1
產生檔案的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-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 ]'
登入後複製
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章
刺客信條陰影:貝殼謎語解決方案
4 週前
By DDD
Windows 11 KB5054979中的新功能以及如何解決更新問題
3 週前
By DDD
在哪裡可以找到原子中的起重機控制鑰匙卡
4 週前
By DDD
<🎜>:死鐵路 - 如何完成所有挑戰
1 個月前
By DDD
Atomfall指南:項目位置,任務指南和技巧
1 個月前
By DDD

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

Linux終端中查看Python版本時遇到權限問題的解決方法當你在Linux終端中嘗試查看Python的版本時,輸入python...

使用FiddlerEverywhere進行中間人讀取時如何避免被檢測到當你使用FiddlerEverywhere...

如何在10小時內教計算機小白編程基礎?如果你只有10個小時來教計算機小白一些編程知識,你會選擇教些什麼�...

在使用Python的pandas庫時,如何在兩個結構不同的DataFrame之間進行整列複製是一個常見的問題。假設我們有兩個Dat...

Uvicorn是如何持續監聽HTTP請求的? Uvicorn是一個基於ASGI的輕量級Web服務器,其核心功能之一便是監聽HTTP請求並進�...

攻克Investing.com的反爬蟲策略許多人嘗試爬取Investing.com(https://cn.investing.com/news/latest-news)的新聞數據時,常常�...
