Я использую стороннюю программу на Windows10 - назовите ее SuckySoftware.exe.
Эта программа может запускать скрипт на Python и делать другие вещи.
Когда он запускает скрипт на Python, к сожалению, я не запускаю командное окно.Это создает три проблемы:
1) Я не могу дать ему вход.Например, использование python3 и наличие «input ()» в качестве одной из команд приводит к зависанию SuckySoftware.exe, поскольку он ожидает ввода в какое-то несуществующее командное окно.
2) Я не могу получитьвыход.Так что "print ('hello')" нигде не отображается
3) Нет обработки ошибок.Так что, если у меня в коде Python есть ValueError, он молча завершается сбоем в этой строке и не выполняет остальную часть Python.
Я решил # 2, выполнив:
sys.stdout = open(logfile, 'wb', 0)
sys.stdout.write('hello'.encode('utf-8'))
и затем используя mTail для мониторинга файла журнала в режиме реального времени.
Я не могу понять, какрешить 1 или 3.
Для 1 мне интересно, есть ли простой способ запуска простого графического интерфейса с одним текстовым полем.Всякий раз, когда в моем лог-файле отображается «Пожалуйста, введите значение», я могу ввести его в это текстовое поле и нажать «Ввод», и оно будет перенесено на стандартный ввод.Однако это кажется слишком сложным.
Для 3 мне интересно, смогу ли я перехватить все сообщения об ошибках (включая номер строки, в которой произошла ошибка) и распечатать их в стандартный вывод до выхода из сценария.
Идеи