(Python)commandes système depuis python

Stéphane -  
 Jonkur -
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 33415 Statut Modérateur 15 663
 
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 8854 Statut Modérateur 1 526
 
Ah ben vi, ça marche :-)

os.system("dir c:")
0
zoubouloune
 
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 8854 Statut Modérateur 1 526
 
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
Stéphane
 
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 8854 Statut Modérateur 1 526
 
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
Stéphane
 
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
Stéphane
 
Merci beaucoup

Ca marche
0
Stéphane
 
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
Jonkur
 
>>> os.system("dirc:")
il faut aspacer

>>> os.system("dir c:")
0
sebsauvage Messages postés 33415 Statut Modérateur 15 663
 
euh.... import os ?

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

Amitiés

Stéphane
0