Ligne python 2.6 à convertir en 2.3 :(

Le
Sysadmin
Bonjour,

Un script ne fonctionne pas chez un de mes clients parce que celui-ci ne
dispose que de python 2.3.4. Impossible de lui demander la moindre
upgrade sur ce serveur de prod.

Y a-t-il ici de personnes suceptibles de me dire ce qui ne va pas ?

La ligne en question est celle-ci :
query_string = "&".join ("%s=%s" % t for t in params)

Pour un script simple qui enregistre une querystring.

La source complete :

http://pastie.org/863301

Merci d'avance à tous ceux (et celles) qui seraient suceptibles de m'aider.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Alain BARTHE
Le #21355801
Sysadmin a écrit :
Bonjour,

Un script ne fonctionne pas chez un de mes clients parce que celui-ci ne
dispose que de python 2.3.4. Impossible de lui demander la moindre
upgrade sur ce serveur de prod.

Y a-t-il ici de personnes suceptibles de me dire ce qui ne va pas ?

La ligne en question est celle-ci :
query_string = "&".join ("%s=%s" % t for t in params)

Pour un script simple qui enregistre une querystring.

La source complete :

http://pastie.org/863301

Merci d'avance à tous ceux (et celles) qui seraient suceptibles de m'aider.



Je ne suis pas certain, mais j'essaierais :

query_string = "&".join (["%s=%s" %t for t in params])


Corrigez-moi si je dis une connerie mais il me semble que la syntaxe de
ton script utilise les "generators" qui ne sont peut-être pas encore
disponible en 2.3.4.

En englobant dans [] tu créera une "liste en intentions" qui elle existe
depuis bien plus longtemps.
danieldelay
Le #21357621
Sysadmin a écrit :
La ligne en question est celle-ci :
query_string = "&".join ("%s=%s" % t for t in params)



Il y a une fonction faite pour ça dans urllib :

import urllib
query_string = urllib.urlencode(params)

C'est compatible python2.3, les valeurs sont encodées proprement, donc
par exemple pas de problème s'il y a un "&" dans une valeur des paires
clés/valeurs de params.
http://docs.python.org/library/urllib.html#urllib.urlencode
Publicité
Poster une réponse
Anonyme