Вызывайте jq для каждого нового объекта json, напечатанного сценарием Python, а не только по завершении.Python

Программы на Python
Ответить Пред. темаСлед. тема
Гость
 Вызывайте jq для каждого нового объекта json, напечатанного сценарием Python, а не только по завершении.

Сообщение Гость »


У меня есть скрипт Python, который наблюдает за сокетом и при получении данных записывает JSON в стандартный вывод.

Приведенный ниже пример сценария иллюстрирует поведение: новый JSON выводится каждые 3 секунды.

импортировать json, время защита new_json(n): кадр = { «Итерация»: n, «Поле0»: 0, «Поле1»: 1, «Поле2»: 2 } печать(json.dumps(frame)) новый_json(1) время.сон(3) новый_json(2) время.сон(3) новый_json(3) Выходные данные:

{"Итерация": 1, "Поле0": 0, "Поле1": 1, "Поле2": 2} {"Итерация": 2, "Поле0": 0, "Поле1": 1, "Поле2": 2} {"Итерация": 3, "Поле0": 0, "Поле1": 1, "Поле2": 2} Если я передам это в jq, используя python3 jqtest.py | jq . он печатает JSON только после полного завершения сценария.

Как я могу вызывать jq для каждого нового объекта JSON, полученного во время выполнения, а не только в конце?
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»