тгТихая грань
ОПЕРАЦИЯ · РЕСУРСЫ

Ограничить память обработки

Обработать JSONL построчно с лимитом размера одной записи.

Инструмент: Python 3 · риск: read-only · проверено: 2026-02-21

Предварительные условия

Python 3; один JSON на физическую строку; лимит 1 MiB.
Команда
python3 - <<'PY'
import json
limit = 1024 * 1024
count = 0
with open("example.jsonl", "rb") as f:
    while line := f.readline(limit + 1):
        if len(line) > limit: raise ValueError("Слишком длинная запись")
        json.loads(line.decode("utf-8"))
        count += 1
print(count)
PY

Объяснение аргументов

readline(limit+1) ограничивает буфер строки; json.loads обрабатывает только одну запись.

Ожидаемый результат

Количество записей при ограниченном входном буфере.

Проверка

Проверьте поведение на записи длиннее лимита; для жёсткого лимита памяти нужен лимит процесса ОС.

Распространённые ошибки

  • Объект JSON занимает больше памяти, чем его текст; глубина вложенности тоже важна.

Обратимость

Без изменений.

Применимые форматы

jsonl ndjson