IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Comment créer des alias pour le terminal en python ?


Sujet :

Python

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 29
    Points : 31
    Points
    31
    Par défaut Comment créer des alias pour le terminal en python ?
    Bonjour,

    Quelqu'un peut-il m'aider sur ce coup, je ne trouve pas...

    Je voudrais creer des alias dans le terminal en utilisant python.
    J'essaye os.system en faisant ceci :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    #!/usr/bin/python
    # -*- coding: latin-1 -*-
     
    import os
     
    os.system("ls /home/user/")
    Ca fonctionne parfaitement.

    J'essaye alors ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    #!/usr/bin/python
    # -*- coding: latin-1 -*-
     
    import os
     
    os.system("alias \"p\"=\"cd /home/user/\"")
    Je n'ai pas d'erreurs, mais mon alias ne fonctionne pas.
    Du coup, je teste cette commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    #!/usr/bin/python
    # -*- coding: latin-1 -*-
     
    import os
     
    os.system("cd /home/user/")
    La commande ne fonctionne pas, mais je n'ai pas d'erreur...

    Quelqu'un peut-il m'expliquer?

    Je precise : je sais qu'en editant /etc/bash.bashrc et en ajoutant l'alias, le terminal s'ouvre et les alias fonctionnent.
    Mais j'ai besoin de créer des alias particuliers pour chaque programme python, et j'ai pensé que je pourrai le faire en python

  2. #2
    Membre confirmé Avatar de cboudy
    Profil pro
    Ingénieur informatique industrielle
    Inscrit en
    Avril 2006
    Messages
    407
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur informatique industrielle
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 407
    Points : 627
    Points
    627
    Par défaut
    os.system effectue la commande dans un subshell, donc l'alias est créé dans ton subshell
    si tu enchaines les os.system, tu as autant de subshells que te commande, et les alias ne se transmettent pas dans les appels successifs
    si tu veux enchainer les lignes de commande :

    - tu passes plusieurs lignes echainées avec des \n
    - tu utilises le module subprocess

  3. #3
    Membre éclairé
    Avatar de GnuVince
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2004
    Messages
    679
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2004
    Messages : 679
    Points : 803
    Points
    803
    Par défaut
    Utilise les commandes du module os genre os.chdir au lieu de faire des appels à os.system.

Discussions similaires

  1. Comment créer des ALIAS par programme
    Par HASSIOMAR dans le forum Bases de données
    Réponses: 1
    Dernier message: 02/11/2010, 09h30
  2. Comment Créer des bitmaps pour la bar ribbon?
    Par azamharir dans le forum MFC
    Réponses: 1
    Dernier message: 30/08/2008, 17h43
  3. Réponses: 2
    Dernier message: 22/02/2007, 19h38
  4. Réponses: 2
    Dernier message: 04/08/2005, 19h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo