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 :

Récupérer en argument des chaines de caractère contenant des espaces


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2009
    Messages
    134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2009
    Messages : 134
    Par défaut Récupérer en argument des chaines de caractère contenant des espaces
    Bonjour à tous,

    après une matinée entière à bloquer là-dessus, je me permets de vous demander un coup de main.

    J'ai écrit un script bash qui appelle un script python, en lui donnant des arguments. Ces arguments sont des chaînes de caractères présentant des espaces :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    tableau=('valeur un' 'valeur deux' 'valeur trois')
    python script.py "${tableau[0]}" "${tableau[2]}"
    Tel quel, script.py ne saura pas récupérer les valeurs correctes des chaînes : il va créer une variable pour un mot, soit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    sys.argv[1] = "valeur"
    sys.argv[2] = "un"
    etc...
    Pour essayer d'avoir les valeurs correctes, j'ai essayé d'utiliser getopt et optparse. Par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    import optparse
     
    parser = optparse.OptionParser()
    (options, args) = parser.parse_args() 
    print args[0]
    sans succès néanmoins. Une variable par mot est toujours créée. Je me suis intéressé à argparse aussi, mais comme je tourne avec Python 2.6.5 et que argparse a été introduit dans la version 2.7 je ne suis pas sûr de pouvoir utiliser ce dernier.

    Bref, je suis à court d'idées, si vous pouviez m'indiquer une solution la plus simple possible pour que ça marche (même une solution pas propre ) vous me rendriez un fier service !

    Merci d'avance.

  2. #2
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2009
    Messages
    134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2009
    Messages : 134
    Par défaut
    C'est bon j'ai trouvé un moyen pour importer mes variables directement dans mon script Python, depuis un fichier.

    Solution simple et qui marche.

  3. #3
    Membre Expert
    Profil pro
    Développeur en systèmes embarqués retraité
    Inscrit en
    Mars 2006
    Messages
    952
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2006
    Messages : 952
    Par défaut
    Salut,

    Alors que c'est si simple en ligne de commande...

    A+

    Pfeuh
    Images attachées Images attachées  

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Chaine de caractères contenant des antislash
    Par Mides dans le forum Débuter avec Java
    Réponses: 6
    Dernier message: 27/04/2012, 09h32
  2. Réponses: 4
    Dernier message: 24/10/2011, 12h17
  3. Réponses: 1
    Dernier message: 03/07/2011, 16h59
  4. Comparer 2 chaines de caractère contenant des float
    Par Korben-Dallas dans le forum C
    Réponses: 14
    Dernier message: 17/05/2011, 13h26
  5. Chaine de caractère, contenant des variables, à éxecuter
    Par kerozenium dans le forum Développement
    Réponses: 4
    Dernier message: 18/06/2010, 11h25

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