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.