#Scénario:

J'exécute des codes en python par proc_open, en utilisant py.exe.

Ex:

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

Mon code python peut avoir des entrées ou des sorties dans une séquence indéfinie.

Ex:

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

Ou

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

#Les sorties:

Pour obtenir des sorties, j'utilise fread.

#Contributions:

Pour obtenir des entrées, j'utilise fwrite.

#Problème:

Comme j'ai une séquence indéfinie en code python, je ne sais pas si mon programme (code python) attend une entrée ou une sortie. Si mon programme attend une entrée et que j'exécute la commande fread (sortie), mon PHP entrera dans une boucle... en attente d'une sortie python inexistante.

#Question

Je peux vérifier dans "pipes" si mon application python attend une entrée ou une sortie?

P.S : Si ce n'est pas possible, comment peut-on résoudre ce problème ?

0
Luis Gustavo Araujo 16 sept. 2020 à 19:47

1 réponse

Meilleure réponse

Il n'y a apparemment pas de solution native au problème. Pour l'instant, je joins un caractère non imprimable (0) à la saisie de l'utilisateur.

Impression originale : input("enter with one number")

Impression modifiée : input(chr (0) + "enter with one number")

De cette façon, je peux utiliser un drapeau (out/in)

;)

0
Luis Gustavo Araujo 18 sept. 2020 à 04:24