python3文字檔案按行雜湊
由於專案需要對一個文字檔案按行雜湊,今天研究了一下python的雜湊使用,開始生成的md5總是和標準的md5 (32位)不同,經過反覆測試發現,原來python從檔案中按行讀取的資料自帶了換行符,所以現在需要做的工作就是用空字元替換掉換行符。
#處理大檔案,按行進行md5
import hashlib
import os
os.chdir('e:')
Buffsize=1024
count=0
with open("userdata.txt",encoding='utf-8') as a_file:
lines=a_file.readlines(Buffsize)
while lines:
for line in lines:
if line[-1]=='\n':#去掉行尾的換行符
line=line.replace('\n','')
if line[-1]=='\r':#去掉行尾的換行符
line=line.replace('\r','')
count=count+1
print(count+':')
print(line+'\n')
h=hashlib.md5() #建立md5例項
h.update(line.encode(encoding='utf-8'))
hashmd5=h.hexdigest()
#print(hashmd5)
with open('test.txt', mode='a', encoding='utf-8') as testfile:
testfile.write(hashmd5+'\n')
lines=a_file.readlines(Buffsize)
print("finished")
試驗證明,減少輸出頻率可以大幅提高程式執行效率,但缺陷是一旦當機,可能無法確定檔案具體執行到哪一行
相關文章
- 檔案雜湊審計工具md5deep/hashdeep
- js 雜湊雜湊值的模組JS
- 雜湊表(雜湊表)詳解
- 雜湊表(雜湊表)原理詳解
- asp.net 按行讀取包含中文的文字(txt)檔案並取得行數ASP.NET
- 查詢(3)--雜湊表(雜湊查詢)
- python3執行.sql檔案PythonSQL
- 樹雜湊
- 雜湊表
- (轉載)python一句話校驗檔案雜湊值Python
- java 雜湊表和執行緒安全Java執行緒
- 雜湊函式函式
- 字串雜湊表字串
- redis之雜湊Redis
- 雜湊連線
- 雜湊衝突
- 幾道和雜湊(雜湊)表有關的面試題面試題
- 雜湊遊戲之雜湊盒子的趨勢未來可期遊戲
- 高階自定義View — 粒子變幻、隧道雜湊、組合文字View
- 高階自定義View --- 粒子變幻、隧道雜湊、組合文字View
- Java 按行讀檔案操作程式碼Java
- VBA建立文字檔案、讀寫文字檔案
- 雜湊技術【雜湊表】查詢演算法 PHP 版演算法PHP
- 深入理解雜湊表(JAVA和Redis雜湊表實現)JavaRedis
- 雜湊競猜遊戲遊戲
- Redis命令——雜湊(Hash)Redis
- 雜湊表應用
- 雜湊表的原理
- 實現雜湊表
- 淺談雜湊表
- Hash雜湊遊戲原始碼丨雜湊競猜遊戲系統技術開發丨Hash雜湊遊戲講解遊戲原始碼
- 雜湊競猜遊戲開發示例丨Hash雜湊遊戲系統開發丨雜湊競猜遊戲詳情遊戲開發
- 雜湊遊戲原始碼開發搭建丨hash雜湊遊戲競猜原始碼搭建丨雜湊遊戲系統開發遊戲原始碼
- C#讀取文字檔案和寫文字檔案C#
- PostgreSQL-並行雜湊JOIN分析查詢效能爆炸SQL並行
- 通過雜湊聯接進行高階優化優化
- java 統計大文字檔案的行數Java
- ceph-pg雜湊分析