2011-05-07 6 views

Répondre

8

Le module subprocess peut être utilisé à cet effet:

import subprocess 
retcode = subprocess.call(["at", "x", "y", "z"]) 

Remplacer x, y et z avec les paramètres à at.

4

Alternativement, plutôt que d'utiliser subprocess.call(), vous pouvez utiliser Popen pour capturer la sortie de la commande (plutôt que le code de retour).

import subprocess 
process = subprocess.Popen(['at','x','y','z'], stdout=subprocess.PIPE).communicate()[0] 

Ceci peut ne pas être pertinent pour la commande at, mais il est utile de le savoir. La même chose peut être faite avec stdin et stderr. Regardez le documentation pour plus de détails.

1

subprocess.check_output semble être la fonction de commodité canonique dans Python 2.4+ pour l'exécution d'une commande et l'inspection de la sortie. Il déclenche également une erreur si la commande renvoie une valeur non nulle (indiquant une erreur).

Comme subprocess.call, check_output est un emballage de commodité autour de subprocess.Popen, donc vous pouvez préférer utiliser Popen directement. Mais les wrappers de commodité sont ... pratiques, en théorie.

Questions connexes