diff --git a/fmd5sum/__init__.py b/fmd5sum/__init__.py index a0b0ce8..0e6e30a 100644 --- a/fmd5sum/__init__.py +++ b/fmd5sum/__init__.py @@ -1,6 +1,6 @@ -from .fmd5sum import md5sum, main +from .fmd5sum import md5sum, main, process_files -__all__ = ["md5sum", "main"] +__all__ = ["md5sum", "main", "process_files"] __version__ = "0.2.0" __author__ = "Jiale Chen" diff --git a/fmd5sum/fmd5sum.py b/fmd5sum/fmd5sum.py index 5d9340e..625b5b0 100644 --- a/fmd5sum/fmd5sum.py +++ b/fmd5sum/fmd5sum.py @@ -6,9 +6,13 @@ def md5sum(filename, blocksize=65536): """Optimized MD5 checksum calculator with low-level file I/O.""" + OPEN_FLAGS = os.O_RDONLY + if sys.platform.startswith("win32"): + OPEN_FLAGS |= os.O_BINARY + hash_md5 = hashlib.md5() try: - fd = os.open(filename, os.O_RDONLY | os.O_BINARY) + fd = os.open(filename, OPEN_FLAGS) with open(fd, "rb", closefd=True) as f: while True: block = f.read(blocksize)