2012-05-31 4 views
1

J'apprends à utiliser pexpect et j'avais une question. J'essaie de trouver le numéro de version d'un serveur distant et en fonction de ce numéro de version, je veux choisir le bon numéro de pilote. Je ne suis pas entièrement sûr de savoir comment je devrais faire cela. Quelque chose dans le style d'une fonction getline. Informez-moi s'il y a des fonctions que je pourrais utiliserretourner l'information en utilisant pexpect

Répondre

2

Les propriétés enfant .before et .after contiennent le stdout avant resp. après l'attente correspondante.

import pexpect 

child = pexpect.spawn('cat /etc/issue') 
child.expect('Ubuntu.*') 
print(child.after) 

Laquelle des commandes nécessite une entrée? Si elle est l'installation du pilote, vous pouvez utiliser un tissu & fexpect:

from ilogue.fexpect import expect, expecting, run 

output = run('get-system-version') 

prompts = [] 
prompts += expect('Which driver version do you want to install?',output) 

with expecting(prompts): 
    run('install-driver-command') 
+0

L'idée est de faire un 'cat/etc/issue' et vérifier le numéro de version (en utilisant regex). Donc ce que je veux, c'est pouvoir obtenir la sortie de 'cat/etc/issue' je ne peux pas utiliser le tissu ou le fexpect puisque je me base sur des travaux antérieurs qui sont tous faits dans pexpect :( – SP6

+0

Ok, j'ai ajouté un exemple essayez ce script –

Questions connexes