Python вызывает exe-файл, но не может получить результат с помощью «proc.communicate()»Python

Программы на Python
Anonymous
Python вызывает exe-файл, но не может получить результат с помощью «proc.communicate()»

Сообщение Anonymous »

Я хочу ввести некоторые данные (строку) в exe-файл и получить результат. Когда я щелкаю по exe-файлу, он запускается нормально следующим образом:

Код: Выделить всё

(())(((())(()))((())))
1 2 1 2 1 2 5 1 2 3 9
для этого требуется только нажать Enter, и отобразится результат.
Но когда я запускаю это:

Код: Выделить всё

    output = ""
proc = subprocess.Popen([exe_path], stdin=subprocess.PIPE, stdout=subprocess.PIPE, text=True)

try:
stdout, _ = proc.communicate("(())(((())(()))((())))\n", timeout=3)
output = stdout.rstrip()
except subprocess.TimeoutExpired:
print("Timeout expired. The program took too long to run.")
proc.terminate()
вывод остается пустым. И я попробовал "proc.stdin.flush()", но это не сработало.
Интересно, почему. извините за мой плохой английский.

Подробнее здесь: https://stackoverflow.com/questions/781 ... ommunicate

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