view bin/cek.py @ 270:0e41725e7d38

Grep, GNU Grep, Solaris Grep, etc.
author Edho Arief <edho@myconan.net>
date Thu, 24 Nov 2011 15:21:33 +0700
parents 08d5f6023998
children 137b18a1898e
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 "%s %s" % (file, get_file_crc32(file))