Je cherche à m'interfacer avec une application de ligne de commande interactive utilisant Python 3.5. L'idée est que je commence le processus au début du script Python et le laisse ouvert. Dans une boucle, j'imprime un chemin de fichier, suivi d'un retour de ligne, à stdin
, attendez environ un quart de seconde pendant le traitement et lisez stdout
jusqu'à ce qu'il atteigne une nouvelle ligne.Sous-processus Python: Imprimer en stdin, lire stdout jusqu'à newline, répéter
Ceci est assez similaire à la fonctionnalité communicate
de subprocess
, mais j'attends un retour de ligne au lieu d'attendre la fin du processus. Quelqu'un est-il conscient d'une manière relativement simple de le faire? Editer: il serait préférable d'utiliser la bibliothèque standard pour cela, plutôt que des bibliothèques tierces telles que pexpect
, si possible.
Avez-vous regardé le module 'pexpect'? –
@JonClements Je l'ai utilisé précédemment pour SSH. Je vais regarder pour cela cependant. Je vous remercie! –
encore ... utiliser 'pexpect'. Il y a des complications gazillion qui est pourquoi l'utilisation de la bibliothèque standard ne peut pas être recommandée. –