Avec python il est possible d'executer une simple commande externe en utilisant la fonction system() du module os, comme dans cet exemple
>>> import os
>>> os.system('ls -l')
total 8
drwxr-xr-x 6 toto staff 204 Oct 27 20:17 HomeWork
drwxr-xr-x 42 toto staff 1428 Nov 22 11:26 WorkSpace
drwxr-xr-x 7 toto staff 238 Nov 11 18:41 Desktop
drwxr-xr-x 22 toto staff 748 Nov 17 19:03 Documents
0
>>>
où la commande unix 'ls -l' est ici exécutée. Il est possible d'obtenir le même résultat en utilisant call du module subprocess, exemple (voir la page externe suivante pour une discussion en anglais sur la difference entre os.system() et subprocess):
>>> from subprocess import call
>>> call(["ls", "-l"])
total 8
drwxr-xr-x 6 toto staff 204 Oct 27 20:17 HomeWork
drwxr-xr-x 42 toto staff 1428 Nov 22 11:26 WorkSpace
drwxr-xr-x 7 toto staff 238 Nov 11 18:41 Desktop
drwxr-xr-x 22 toto staff 748 Nov 17 19:03 Documents
0
>>>
Remarque: avec subprocess il est possible de réaliser des opérations plus complexes comme par exemple récupérer les sorties d'un programme quelconque écrit en C++, fortran, etc
Recherches associées
Liens | Site |
---|---|
os — Miscellaneous operating system interfaces | python doc |
subprocess — Subprocess management | python doc |
What's the difference between os.system and subprocess.call in Python? | quora |
os.system() execute command under which linux shell? | stackoverflow |
Calling an external command in Python | stackoverflow |
Python, os.system for command-line call (linux) not returning what it should? | stackoverflow |