import hashlib import io from pathlib import Path def get_hash(filename): with open(filename, "r", encoding="latin-1", buffering=0) as frh: with open(filename + ".sha", "w", encoding="latin-1") as fwh: chunk = io.StringIO() for i, line in enumerate(frh.readlines()): chunk.write(line) if i % 1000 == 0: m = hashlib.sha256(chunk.getvalue().encode()) chunk.truncate(0) fwh.write(m.hexdigest() + "\n") def main(): for f in Path("datev/data").glob("*.csv"): get_hash(str(f)) if __name__ == "__main__": main()