Non, car le shell supprime ces espaces, pas optparse. Python reçoit une liste de paramètres de ligne de commande déjà analysés.
Utilisez les guillemets pour préserver les espaces:
./yourscript.py --option=" spaces in here "
Pour démontrer, j'ai créé le script suivant:
#!/usr/bin/env python
import sys
print sys.argv
pour vous montrer ce que optparse voit:
$ ./demo.py foo bar baz
['./demo.py', 'foo', 'bar', 'baz']
Notez comment la les espaces sont tous supprimés et trois valeurs sont passées au script. Mais avec la citation:
$ ./demo.py " foo bar" baz
['./demo.py', ' foo bar', 'baz']
l'espace est préservé, et j'ai joint deux chaînes en une seule.