Python で大きなファイルの MD5 ハッシュを計算する
概要
次の MD5 ハッシュを決定する大きなファイルのサイズが利用可能なメモリを超えると、問題が発生する可能性があります。この記事では、ファイル全体をメモリにロードせずに MD5 ハッシュを計算する実用的なソリューションを紹介します。ソリューション
大きなファイルの MD5 ハッシュを計算するには、以下を読むことが重要です。それらを管理可能な塊に分割します。次のコード スニペットはこれを示しています。<code class="python">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>
拡張コード
プロセスを合理化するには、次の拡張コードを検討してください。<code class="python">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>
結果のクロスチェック
精度を確保するには、クロスを考慮してください。 -「jacksum」のような専用ツールで結果を確認する:jacksum -a md5 <filename>
以上がメモリの過負荷を発生させずに Python で大きなファイルの MD5 ハッシュを計算する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。