diff options
| author | Mistivia <i@mistivia.com> | 2025-02-11 22:14:02 +0800 |
|---|---|---|
| committer | Mistivia <i@mistivia.com> | 2025-02-11 22:14:02 +0800 |
| commit | ec6b42fd005a5416371a1cace0c35366aa9f1d58 (patch) | |
| tree | f37cc65f547cd55cdc40f3c71e7aa2faaa324786 /data/split.py | |
| parent | 39c98aef0b1077001571a11adfd6b4c80dec256a (diff) | |
optimize card db loading
Diffstat (limited to 'data/split.py')
| -rw-r--r-- | data/split.py | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/data/split.py b/data/split.py new file mode 100644 index 0000000..1f93fca --- /dev/null +++ b/data/split.py @@ -0,0 +1,22 @@ +import json + +def split_file(input_filename): + chunk_size = 102400 # 100kB + part_number = 1 + parts = [] + with open(input_filename, 'rb') as input_file: + while True: + data = input_file.read(chunk_size) + if not data: + break + output_filename = f'card_db_parts/part{part_number}' + with open(output_filename, 'wb') as output_file: + output_file.write(data) + parts.append(f'part{part_number}') + part_number += 1 + with open("card_db_parts/index.json", 'w') as fp: + fp.write(json.dumps(parts)) + print(f"file splited to {part_number-1} parts") + +# 示例用法 +split_file('card_db.json') |
