(Python)commandes système depuis python

Fermé
Stéphane - 31 mai 2007 à 08:08
 Jonkur - 21 mars 2014 à 16:01
Bonjour,

je voudrais réaliser un programme en python qui permette d'utiliser la commande schred de linux assez facilement mais je n'arrive pas a utiliser la commande directement depuis python.

Si vous pouviez m'aider et me donner la commande qui me permette d'utiliser les commandes de l'os utilisé depuis python ce serait super

Je vous en remercie par avance

Stéphane

10 réponses

sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 655
31 mai 2007 à 13:40
Et pourquoi pas simplement un os.system() ?

Je m'en sert pour faire des manipulations d'image avec ImageMagick.
ça marche bien sous Windows et Linux.


Par contre, si vous voulez un meilleur contrôle sur les processes lancés, je vous recommande le module subprocess
http://docs.python.org/dev/lib/module-subprocess.html
3
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
31 mai 2007 à 14:28
Ah ben vi, ça marche :-)

os.system("dir c:")
0
lol, c'est simple.

Tu fais ça :

import os
os.execl("C:\WINDOWS\system32\cmd","/C","dir","C:\")

ça marche nickel
2
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
31 mai 2007 à 09:21
Utilise os.execl(), c'est ce qu'il y a de plus pratique je pense.

Ca s'utilise comme ça:
import os
os.execl("commande", "arg1", "arg2", ...)

Exemple avec avec "ls /":
#C'est mieux de mettre le chemin complet de l'executable
os.execl("/bin/ls", "arg1")


Et il y a d'autres méthodes exec qui pourront peut être mieux convenir pour ce que tu veux faire:
http://docs.python.org/lib/os-process.html
1
Ok je te remercie de ta reponse.

Si j'ai bien compris, et pour exemple si j'utilise un os windows et que je veux simplement faire un dir, la commande pourrait etre :

os.execl("dir", "c:\") ????


Je te pose la question en ces termes car je suis au boulot, sous windows et je n'ai pas l'environnement python sous la main.

Merci de ton aide
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
31 mai 2007 à 10:19
Euh ben là j'ai un doute.
dir, est ce une application windows ou une commande qui ne peut être comprise que par cmd.exe (l'interpréteur de commande windows)...?
0
Effectivement, ca coince

J'ai essayé

#/usr/bin/python
os.execl("cmd.exe", "dir c:\")
raw_input('hé t\'appuie...')

Mais ca coince aussi

Je continue mes tests

Mais si tu as une idée je suis preneur

Stéphane
0
Merci beaucoup

Ca marche
0
Ben en fait non ca ne fonctionne pas :

>>> os.system("dirc:")
Traceback (most recent call last):
File "<stdin>", line 1, in ?
NameError: name 'os' is not defined

Voila ce que ca me dit

Une idée sur comment definir 'os' ?

Merci d'avance

Stéphane
0
>>> os.system("dirc:")
il faut aspacer

>>> os.system("dir c:")
0
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 655
31 mai 2007 à 20:23
euh.... import os ?

Jette un coup d'oeil dans tous les modules fournis avec Python:
http://docs.python.org/modindex.html
0
Merci je vais jeter un oeil.

Amitiés

Stéphane
0