Replace dans un tuple - Python - Programmation
Marsh Posté le 07-11-2014 à 19:37:16
Un tuple c'est readonly, une fois instancié tu peux plus y toucher.
Donc déjà il faut partir sur une liste.
Ensuite il existe pas de méthode replace aux lists, par contre c'est pas très compliqué à coder.
Exemple:
Code :
|
Marsh Posté le 08-11-2014 à 09:26:29
As tu essayé de faire :
Code :
|
Mais je suis d'accord avec rage, si tu as besoin de modifier un tuple -> ca ne devrait pas être un tuple
Marsh Posté le 11-11-2014 à 11:41:58
Bonjour,
Merci pour vos réponses
en fait, je fais un extract de certificats depuis une base sql. Le certificat extrait je le stock dans une variable, mais quand je veux l'utiliser ou l'afficher et bien il n'interprête pas les \n du coup pas de sauts de lignes, donc mon certificat n'est pas valable.
après je ne cherche pas volontairement à le coller dans un tuple, je fais comme ca:
var1 = (requête sql)
cursor.execute = (var1)
var2 = cursor.fetchall()
et ca me sort le certificat mais dans un tuple.
mauvaise technique pour l'extract?
Marsh Posté le 11-11-2014 à 12:40:47
C'est quoi ton connecteur db ?
Au pire si il te retourne un tuple (mais normalement il devrait te retourner un objet propre a lui, compatible avec les list) iil suffit de caster en list
var2 = list(cursor.fetchall())
Marsh Posté le 11-11-2014 à 22:38:35
je fais:
import MySQLdb
cursor = db.cursor()
du coup, si je fais ta technique, ca extract mon tuple dans une liste qui est dans var2?
Marsh Posté le 11-11-2014 à 23:01:01
Effectivement c'est bien un tuple que retourne ce connecteur.
http://mysql-python.sourceforge.ne [...] or-objects
Donc tu peux faire ce que j'ai dis.
Par contre attention le fetchall() j'imagine que ca retourne un tuple de tuple.
Marsh Posté le 12-11-2014 à 10:21:36
Finalement, vu que c'est un tuple de tuple je fais juste ca:
var3 = var2[0][0].replace('bla', 'blo')
et ca fontionne
merci à vous
Marsh Posté le 12-11-2014 à 10:24:29
Ca sous entend que tu n'as qu'une réponse possible a ta requête. Si ta requête renvoie plusieurs row, tu prends que la 1er la.
Marsh Posté le 12-11-2014 à 18:03:19
parfait (du coup tu pourrais faire un fetchone au lieu du fetchall)
Marsh Posté le 07-11-2014 à 17:17:32
Bonjour à vous,
Je débute en python ^^
et j'aurais besoin de faire un replace dans un tuple.
déjà, est-ce possible?
si oui, une solution?
car j'ai essayé de passer par une variable intermédiaire mais sans succès, pareil, faire le replace comme suit:
variable.replace ("id", "id1" ) mais j'ai le message d'erreur suivant:
j'en conclus donc que ce n'est pas possible.
Merci