История изменений
Исправление SpaceRanger, (текущая версия) :
Я слегонца плохо описал ситуацию в стартовом посте.. Ситуация такая: через ссш парамико я выполняю команду на удаленном хосте и вывод stdout сохраняю в переменной json_out. Затем мне содержимое этой переменной надо подать на вход парсера джейсона. Пока что наколхозил вот такое решение, которое работает, но лишено красоты, кмк:
stdin, stdout, stderr = jump_host.exec_command("curl -s http://127.0.0.1:8080/service@127.0.0.1/interfaces/1/exec_mgr")
json_out = stdout.read()
with open("output", "w") as f:
context = json_out.decode()
f.write(context)
with open("output", "r") as f:
print_result = subprocess.run("jq", stdin=f, check=True)
В уголках сознания бьётся мысль, что и без файла как то можно значение переменной json_out передать напрямую в subprocess
Исправление SpaceRanger, :
Я слегонца плохо описал ситуацию в стартовом посте.. Ситуация такая: через ссш парамико я выполняю команду на удаленном хосте и вывод stdout сохраняю в переменной json_out. Затем мне содержимое этой переменной надо подать на вход парсера джейсона. Пока что наколхозил вот такое решение, которое работает, но лишено красоты, кмк:
stdin, stdout, stderr = jump_host.exec_command("curl -s http://127.0.0.1:8080/service@127.0.0.1/interfaces/1/exec_mgr")
json_out = stdout.read()
with open("output", "w") as f:
context = json_out.decode()
f.write(context)
with open("output", "r") as f:
print_result = subprocess.run("jq", stdin=f, check=True)
Исходная версия SpaceRanger, :
Я слегонца плохо описал ситуацию в стартовом посте.. Ситуация такая: через ссш парамико я выполняю команду на удаленном хосте и вывод stdout сохраняю в переменной json_out. Затем мне содержимое этой переменной надо подать на вход парсера джейсона. Пока что наколхозил вот такое решение, которое работает, но лишено лоска:
stdin, stdout, stderr = jump_host.exec_command("curl -s http://127.0.0.1:8080/service@127.0.0.1/interfaces/1/exec_mgr")
json_out = stdout.read()
with open("output", "w") as f:
context = json_out.decode()
f.write(context)
with open("output", "r") as f:
print_result = subprocess.run("jq", stdin=f, check=True)