275 votes

Comment appeler un script shell à partir de code python?

comment appeler un script shell à partir de code python?

323voto

Manoj Govindan Points 24030

Le module de sous-processus vous aidera.

Voici un tutoriel décent.

Exemple carrément trivial:

 >>> import subprocess
>>> subprocess.call(['./test.sh']) # Thanks @Jim Dennis for suggesting the []
0 
>>> 
 

test.sh est un script shell simple et 0 est sa valeur de retour pour cette exécution.

127voto

Michał Niklas Points 15907

Il y a des façons d'utiliser os.popen() (obsolète) ou le module entier subprocess , mais os.system(command) est l'un des plus faciles.

18voto

hugo24 Points 446

Utilisez le module de sous-processus comme mentionné ci-dessus.

Je l'utilise comme ça:

 subprocess.call(["notepad"])
 

2voto

Akseli Palén Points 7697

Sous-processus est bonne, mais certaines personnes comme scriptine mieux. Scriptine a plus haut niveau de l'ensemble de méthodes comme shell.appel(args), chemin d'accès.renommer(new_name) et chemin d'accès.déplacer(src,dst). Scriptine est basé sur les sous-processus et les autres.

Deux inconvénients de scriptine:

  • Actuel de la documentation serait plus complet, même si elle est suffisante.
  • À la différence des sous-processus, scriptine package n'est pas installé par défaut.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X