Rechercher : dans
Par :

(Python)commandes système depuis python

Dernière réponse le 1 jun 2007 à 06:42:32 Stéphane, le 31 mai 2007 à 08:08:18 
 Signaler ce message aux modérateurs

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

Configuration: Windows 2000
Firefox 2.0.0.3

Meilleures réponses pour « (Python)commandes système depuis python » dans :
[Windows] Changer l'adresse IP en ligne de commande avec Netsh VoirSous les systèmes Windows 2000/Windows XP et supérieurs, il est possible de modifier les paramètres TCP/IP à partir d'une simple ligne de commande, afin par exemple d'automatiser cette tâche grâce à un script. Ceci est possible grâce à l'outil...
Lancer des commandes en mode Administrateur sous Vista VoirComme dans les versions précédentes de Windows, le champ "Exécuter" présent dans le menu Démarrer de Windows Vista, permet d'exécuter des commandes du système. Par défaut, ces commandes sont exécutées en utilisant les privilèges de...
Les commandes AS/400 VoirLes commandes de l’AS/400 Il existe environ un millier de commandes dans l'OS/400, regroupées sous le nom de « Langage de Contrôle ». Un utilisateur pourra les lancer depuis la ligne Option ou Commande située au bas de l'écran, quand celle-ci est...
Systèmes UNIX - Le shell VoirIntroduction au shell L'interpréteur de commandes est l'interface entre l'utilisateur et le système d'exploitation, d'où son nom anglais «shell», qui signifie «coquille». Le shell est ainsi chargé de faire l'intermédiaire entre le système...
Introduction aux systèmes AS/400 VoirIntroduction à l’AS/400 AS/400 est une gamme de mini-ordinateurs IBM apparue début février 1987. Dans l’informatique de gestion d’IBM, il existe trois gammes d’ordinateurs : les gros systèmes (appelés MainFrame), ES/9000, sous le système...

1

kilian, le 31 mai 2007 à 09:21:58

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
..et le...le...enfin, non parce c'est...ya...quand...bah tu sais là le...

Répondre à kilian

2

Stéphane, le 31 mai 2007 à 10:11:18

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

Répondre à Stéphane

3

kilian, le 31 mai 2007 à 10:19:52

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)...?

..et le...le...enfin, non parce c'est...ya...quand...bah tu sais là le...

Répondre à kilian

4

Stéphane, le 31 mai 2007 à 12:10:14

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

Répondre à Stéphane

5

sebsauvage, le 31 mai 2007 à 13:40:39

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

Répondre à sebsauvage

6

kilian, le 31 mai 2007 à 14:28:34

Ah ben vi, ça marche :-)

os.system("dir c:")
..et le...le...enfin, non parce c'est...ya...quand...bah tu sais là le...

Répondre à kilian

7

Stéphane, le 31 mai 2007 à 16:43:26

Merci beaucoup

Ca marche

Répondre à Stéphane

8

Stéphane, le 31 mai 2007 à 20:17:37

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

Répondre à Stéphane

9

sebsauvage, le 31 mai 2007 à 20:23:11

Euh.... import os ?

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

Répondre à sebsauvage

10

 Stéphane, le 1 jun 2007 à 06:42:32

Merci je vais jeter un oeil.

Amitiés

Stéphane

Répondre à Stéphane