|
|
|
|
Bonjour,
j'ai un problème pour passer des arguments d'un shell Unix à un script python.
Voici mon problème :
Dans le shell unix :
$A="toto"
$B="deux mots"
./jpython prog.py "$A" "$B"
Dans le code python je récupère les infos suivantes :
print sys.argv[0] # affiche "prog"
print sys.argv[1] # affiche "toto"
print sys.argv[2] # affiche "deux"
print sys.argv[3] # affiche "mots"
Je voudrais savoir comment récupérer "deux" et "mots" dans le même argument.
J'ai essayé de passer la chaine "deux mots" entre '', mais rien n'y fait, car je récupère
print sys.argv[2] # affiche "'deux"
print sys.argv[3] # affiche "mots'"
Est ce que quelqu'un a une solution ?
Merci d'avance
Répondre à zigou
|
Répondre à sebsauvage
|
Exemples complets avec getopt et optparse:
|
Tiens bizarre chez moi ça marche.
import optparse parser = optparse.OptionParser() (options, args) = parser.parse_args() print args Et je l'appelle: c:\data>python a.py "rcefce dcdc" "ba ba" ['rcefce dcdc', 'ba ba'] Il me prend bien mes chaînes entre doubles-quotes. “Life is short - You need Python” -- Bruce Eckel, membre du comité ANSI C++
|
Voilà l'explication:
|
Répondre à mar9
|