IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

afficher des caractères spéciaux en python


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 53
    Par défaut afficher des caractères spéciaux en python
    Bonjour à tous,


    j'utilise un script python pour générer un fichier texte contenant des centaines de requêtes sql, cependant je n'arrive pas à afficher certains caractères (nécessaires pour que mes reuqêtes soient fonctionnelles). Il s'agit de la virgule et de l'apostrophe.

    Voila ce que j'arrive à print :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO ma_table VALUES ( attributA  attributB attribut C);
    et j'aimerai obtenir cela :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO gene VALUES ('attributA', 'attributB', 'attributC' );
    ici mes attributs sont donc entre quote et séparés de virgule.

    Merci à vous si vous avez une solution

  2. #2
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    Par défaut
    Salut,

    Qu'est-ce que tu veux dire par '...j'arrive à print :'

    Tu as une instruction (ou fonction) print qui te sort en console:
    INSERT INTO ma_table VALUES ( attributA attributB attribut C)
    et tu veux ceci:
    INSERT INTO gene VALUES ('attributA', 'attributB', 'attributC' )
    ?

    Si c'est cela, tu peux faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    print "INSERT INTO gene VALUES ('attributA', 'attributB', 'attributC' )"
    Mais comme ça me parait trop simple, je doute avoir compris ta question ...

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 101
    Par défaut
    Oui c'est aussi simple que ça, sauf que lorsque je rajoute les mes attributs ne s'affichent plus, il print "attributA' au lieu du véritable attribut que j'ai stocké précedemment.

  4. #4
    Expert confirmé
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 486
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Citation Envoyé par Thomas77380 Voir le message
    il print "attributA' au lieu du véritable attribut que j'ai stocké précedemment.
    Donc, attributA est une variable, et non une chaine!

    Dans ce cas:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    print "INSERT INTO gene VALUES ('%s', '%s', '%s' )" % (attributA, attributB, attributC)
    Je ne sais pas si ça a un caractère général, mais avec le pilote sqlite3, quand une telle requête sql se trouve comme argument d'un execute, il faut lui préférer la syntaxe suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    curs.execute("INSERT INTO gene VALUES ('?', '?', '?' )", (attributA, attributB, attributC))

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 101
    Par défaut
    Merci beaucoup ça fonctionne

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 101
    Par défaut
    Je profite de ce topic pour poser une autre question

    J'éssais désespérement de copier un fichier dans mon répertoire postgresql pour l'executer.

    Cependant impossible de copier quoi que ce soit dans ce répertoire, la permisssion m'est toujours refusée, j'ai essayé en tant que root -> "aucun fichier ou répertoire". Ensuite je me connecte en tant que super utilisateur postgres, je fais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cp chemin_de_mon_fichier ~/postgresql
    et il me renvoie

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cp cannot stat : mon_chemin  permission denied
    On m'avait expliqué comment manipuler des fichiers pour les mettre dans le répertoire postgres mais je ne m'en rappel plus, j'ai tenté des chmod +x sur mon fichier à envoyer mais rien n'y fait :/

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Afficher des caractères spéciaux en console : "Funky UTF characters"
    Par buffalo974 dans le forum Général Python
    Réponses: 6
    Dernier message: 16/08/2014, 10h45
  2. Comment afficher des caractères spéciaux tel que € ?
    Par jerem_orga dans le forum Android
    Réponses: 4
    Dernier message: 26/12/2011, 09h38
  3. Afficher des caractères spéciaux en ISO-8859-1
    Par markoBasa dans le forum iReport
    Réponses: 2
    Dernier message: 24/09/2008, 11h21
  4. Où trouver la liste des caractères spéciaux?
    Par gamez dans le forum Langage
    Réponses: 3
    Dernier message: 19/08/2003, 17h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo