<code class="python">import hashlib def md5_for_file(f, block_size=2**20): md5 = hashlib.md5() while True: data = f.read(block_size) if not data: break md5.update(data) return md5.digest()</code>使用例ファイルの MD5 ハッシュを計算するには、次の構文を使用します。
<code class="python">with open(filename, 'rb') as f: md5_hash = md5_for_file(f)</code>md5_hash 変数には、計算された MD5 ハッシュがバイトのようなオブジェクトとして含まれます。その他の考慮事項必ずバイナリ モード ('rb) でファイルを開いてください') 不正確な結果を避けるため。包括的なファイル処理については、次の関数を検討してください。
<code class="python">import os import hashlib def generate_file_md5(rootdir, filename, blocksize=2**20): m = hashlib.md5() with open(os.path.join(rootdir, filename), 'rb') as f: while True: buf = f.read(blocksize) if not buf: break m.update(buf) return m.hexdigest()</code>この関数はファイル パスを取得し、MD5 ハッシュを 16 進文字列として返します。これらの手法を利用することで、効率的に計算できます。メモリ制限に遭遇することなく、大きなファイルの MD5 ハッシュを実行します。
以上がPython で大きなファイルの MD5 ハッシュを効率的に計算する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。