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:
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:
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:
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 :D ) vous me rendriez un fier service !
Merci d'avance.