Мне нужна проверка входов / выходов с помощью proc_open

#php #stream #fread #proc-open

#php #поток #fread #proc-открыть

Вопрос:

#Сценарий:

Я выполняю коды на python с помощью proc_open, используя py.exe .

Пример:

 proc_open('py.exe file.py', $descriptorspec, $pipes, null, null)
    
  

Мой код на Python может иметь вход или выходы в неопределенной последовательности.

Пример:

 a = input('insert a value')
print(a)
  

или

 print('Hello, this is a program!')
input('insert a value')
  

#Выходы:

Для получения выходных данных я использую fread.

#Входы:

Для получения входных данных я использую fwrite.

#Проблема:

Поскольку у меня есть неопределенная последовательность в коде python, я не знаю, ожидает ли моя программа (код python) ввода или вывода. Если моя программа ожидает ввода, и я выполняю команду fread (вывод), мой PHP войдет в цикл… ожидание несуществующего вывода python.

#Вопрос

Я могу проверить в «каналах», ожидает ли мое приложение Python ввода или вывода?

P.S: Если это невозможно, как можно решить эту проблему?

Ответ №1:

По-видимому, нет собственного решения проблемы. На данный момент я добавляю непечатаемый символ (0) к пользовательскому вводу.

исходная печать: input("enter with one number")

измененная печать: input(chr (0) "enter with one number")

Таким образом, я могу использовать флаг (out / in)

😉