view bin/cek.py @ 681:137b18a1898e

[cek.py] Python 3
author nanaya <me@nanaya.pro>
date Fri, 24 Jun 2022 15:14:54 +0900
parents 08d5f6023998
children
line wrap: on
line source

#!/usr/bin/env python

import zlib, os, sys

def get_file_crc32(filename):
  block_size = 1*2**20
  return_code = 0
  file_crc32 = 0
  file_digest = 0
  file_handle = open(filename, "rb")
  if return_code == 0:
    file_block = file_handle.read(block_size)
    while file_block:
      file_digest = zlib.crc32(file_block, file_digest)
      file_block = file_handle.read(block_size)
    file_handle.close()
    file_digest = file_digest & 0xffffffff
  return "%08X" % file_digest

if __name__ == "__main__":
  for file in sys.argv[1:]:
    print(f'{file} {get_file_crc32(file)}')