2011-09-30 7 views
0

Est-il possible d'exécuter un processus système à distance, c'est-à-dire en arrière-plan en utilisant python?Exécution d'un processus à distance à l'aide de Python

Par exemple. J'ai installé Scilab sur mon système, maintenant je fais quelque chose comme ça

    xx= os.system('scilab-adv-cli') 

dans la console python. Mais cela déclenche une interface de ligne de commande scilab réelle. Bien que je besoin de quelque chose comme ceci:

    xx.add(1,2) 

est une fonction ici prédéfinie dans le module Scilab WHIC sur l'appel devrait revenir 3 ici. Ca peut-il être fait?

+0

Je pense que vous êtes à la recherche de sous-processus. Il vous permettra de nourrir STDIN et de recevoir STDOUT à partir de scilab-adv-cli. http://docs.python.org/library/subprocess.html –

Répondre

1

Si cela se limite à Scilib, consultez http://forge.scilab.org/index.php/p/sciscipy/

qui devrait vous permettre de faire tout ce Scilib peut faire à partir de python.

En outre, alors que cela ne résout pas votre problème, vous devriez envisager l'utilisation de sous-processus au lieu de os.system

http://docs.python.org/library/subprocess.html#module-subprocess

+0

En d'autres termes: 1) Utilisez les liaisons python si elles existent pour votre paquet 2) Sinon, utilisez le sous-processus pour communiquer avec une commande externe – jdi

+0

3) 'pexpect 'peut être un outil utile pour communiquer avec des programmes interactifs (en mode texte) localement ou à distance. – kindall

Questions connexes