#python #visual-studio-code #terminal
#python #visual-studio-code #терминал
Вопрос:
Я разрабатываю скрипт Python удаленно через SSH на Raspberry Pi с помощью VSCode.
В скрипте я хочу запустить команду в отдельном подпроцессе с
subprocess.Popen('command')
Команда выдает вывод в стандартный вывод, который я хотел бы отобразить во втором терминале для целей отладки.
Какую команду python я использую лучше всего.
Спасибо за помощь!
Ответ №1:
Вы можете либо использовать logging
модуль для записи этой информации в файл, либо использовать что-то подобное с .call()
помощью функции:
from subprocess import PIPE, run
cmd = [command, "-arg1", "-arg2"]
result = run(cmd, stdout=PIPE, stderr=PIPE, universal_newlines=True)
print(result.stdout)
print(result.stderr)
выводится вывод.
Комментарии:
1. Спасибо за информацию! Я также нашел вариант с «GNU screen». Для VSCode есть плагин (с несколькими терминалами). Если бы кто-нибудь мог дать мне несколько советов, я был бы признателен. Я попробую завтра и дам отзыв!
Ответ №2:
Я думаю, что правильный путь — использовать libtmux (https://libtmux.git-pull.com/quickstart.html#quickstart и https://libtmux.git-pull.com/api.html )
На самом деле вы можете отправлять и получать строки в нескольких параллельных независимых сеансах терминала!
Для моей необходимости общаться с сервером websocket во время проверки состояния сервера, это идеальное решение для меня. Он выполняется в VSCode для целей отладки во время кодирования, а также в обычном сеансе SSH после развертывания для удаленного устранения проблем.
С наилучшими пожеланиями, LeFish