view bin/cek.py @ 695:26568ef0d05a

[bashrc] Use bash internal random variable
author nanaya <me@nanaya.pro>
date Sun, 23 Oct 2022 01:58:46 +0900
parents 137b18a1898e
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)}')