Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1632 connectés 

  FORUM HardWare.fr
  Programmation
  Python

  [résolu] petit script en python

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[résolu] petit script en python

n°1805750
pierreafeu​_
Posté le 29-10-2008 à 06:08:08  profilanswer
 

Bonjour,
c'est ma première ligne de code à écrire en Python  il faut que je contrôle si deux variables existent dans deux champs d'une base de données, et retourner 'oui' ou 'non' dans un fichier texte..  
 
(edit)


Message édité par pierreafeu_ le 09-11-2008 à 18:31:55
mood
Publicité
Posté le 29-10-2008 à 06:08:08  profilanswer
 

n°1805862
masklinn
í dag viðrar vel til loftárása
Posté le 29-10-2008 à 13:16:36  profilanswer
 

Je crois qu'il y a comme des bugs dans ton interface chaise/clavier, parce que les deux premiers blocs de code sont vides et le 3e il y a comme des trous dedans.

 

Evite d'utiliser le bloc BBCode [ cpp ] aussi, utilise [ code=python ], ça permet d'avoir une coloration syntaxique correcte:

 
Code :
  1. from fields import Field, FileField
  2. from widgets import Media, media_property, TextInput, Textarea
  3. from util import flatatt, ErrorDict, ErrorList, ValidationError
  4. __all__ = ('BaseForm', 'Form')
  5. NON_FIELD_ERRORS = '__all__'
  6. def pretty_name(name):
  7.     "Converts 'first_name' to 'First name'"
  8.     name = name[0].upper() + name[1:]
  9.     return name.replace('_', ' ')


versus

Code :
  1. from fields import Field, FileField
  2. from widgets import Media, media_property, TextInput, Textarea
  3. from util import flatatt, ErrorDict, ErrorList, ValidationError
  4.  
  5. __all__ = ('BaseForm', 'Form')
  6.  
  7. NON_FIELD_ERRORS = '__all__'
  8.  
  9. def pretty_name(name):
  10.    "Converts 'first_name' to 'First name'"
  11.    name = name[0].upper() + name[1:]
  12.    return name.replace('_', ' ')


Message édité par masklinn le 29-10-2008 à 13:17:03

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1806066
masklinn
í dag viðrar vel til loftárása
Posté le 29-10-2008 à 18:05:18  profilanswer
 

J'ajoute: le XML, c'est pas du texte, ça se génère pas à la main. Python a plusieurs packages de parsing et génération de XML (tout spécialement ElementTree dans Python 2.5), prière de les utiliser.


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1806285
pierreafeu​_
Posté le 30-10-2008 à 11:53:13  profilanswer
 

En fait, je récapitule et j'en profite pour éditer mon premier message.
Je souhaite dissocier la connexion des comptes utilisateurs de la BDD de ceux des utilisateurs d'une application.
Pour ce faire, je crée une table utilisateurs qui contient à l'avance un nom d'utilisateur ainsi qu'un mot de passe.
Je tente d'effectuer une vérification et de savoir si le compte utilisateur existe bien dans la table utilisateurs
 
Voici comment je démarre
 je me connecte à ma base :
 

Code :
  1. def execute(self):
  2.  
  3.     try:
  4.               conn = psycopg2.connect("dbname='MaBase' user='MonUser' host='localhost' password='******'" );
  5.       except:
  6.               return "I am unable to connect to the database !"
  7.  
  8.     cur = conn.cursor()


 
 
Et là je souhaite controler le nom et le mot de passe de l'utilisateur, en récupérant un fichier xml qui me précise 'oui' ou 'non' en fonction du résultat de la requête sur la table utilisateur..
 
j'ai un peu de mal à m'exprimer clairement car je découvre sans aucune notion en python et donc chaque ligne me parait être une grosse erreur potentielle et la sortie en xml assez ardue..
 
Merci


Message édité par pierreafeu_ le 01-11-2008 à 20:04:09
n°1806291
masklinn
í dag viðrar vel til loftárása
Posté le 30-10-2008 à 12:01:49  profilanswer
 

pas de "=python" dans la fermeture, c'est uniquement un argument à l'ouverture, utiliser juste [/code] à la fin.

 

(il y a un bouton d'aperçu sur le forum pour s'assurer que le post est correctement formatté avant de le poster)


Message édité par masklinn le 30-10-2008 à 12:02:30

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1806295
pierreafeu​_
Posté le 30-10-2008 à 12:07:35  profilanswer
 

c'est effectivement plus clair !
peux tu aussi m'aider sur le fond ?

n°1806307
masklinn
í dag viðrar vel til loftárása
Posté le 30-10-2008 à 12:35:48  profilanswer
 

J'ai du mal à voir pourquoi tu veux passer par un fichier XML externe si ton but est de simplement checker que ton utilisateur existe, mais bon.

 

Pour faire la query, cf DB API 2.0 tu peux utiliser cur.execute (puisque tu n'as qu'une requête à faire), puis cur.fetchone() pour regarder ton résultat.

 

Après, il faut simplement sortir le bon SQL, genre un truc du style:

Code :
  1. cur.execute('SELECT login FROM users WHERE login=? AND password=?', [user_login, user_password])
  2. if c.fetchone():
  3.    # the user was found
  4. else:
  5.    # c.fetchone() returned None, indicating the user wasn't found
  6.    # (either because the username doesn't exist or because de password is incorrect
 

Pour la génération de XML, avec Python 2.5 et ElementTree, la doc est relativement correcte. Si tu as une liste de (username, exists), ça peut donner un truc du style:

Code :
  1. from xml.etree import ElementTree as ET
  2.  
  3. users = [('bob', True), ('bob2', False), ('bob3', True)]
  4.  
  5. root = ET.Element('users')
  6. for user, exists in users:
  7.    ET.SubElement(root, 'user', name=user, exists=('true' if exists else 'false'))
  8.  
  9. tree = ET.ElementTree(root)
  10. tree.write('out.xml', 'utf-8')
 

Après, je suggérerais quand même d'apprendre le python, ça pourrait être une bonne idée. le Python Tutorial est pas mal pour commencer, et derrière tu peux enchaîner sur Dive Into Python, un bouquin gratuit assez bien monté.


Message édité par masklinn le 30-10-2008 à 12:36:36

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Python

  [résolu] petit script en python

 

Sujets relatifs
[Résolu] - [Batch Dos] Probleme carateres dans resultat txtAfficher le résultat d'un formulaire dans une iframe [résolu 2FOIS]
[C#] simuler un click souris [résolu]Compilation du package matplotlib pour python (UBUNTU)
Installation du package python matplotlibScript ksh et awk :verif des champs
[Résolu]Faire évoluer une requête SQL[Résolu] Syntaxe : getElementById avec une variable
[HTML/CSS/Javascript]Cherche Script interdire mot dans un formulairelimitation en largeur de la page sous firefox? [résolu]
Plus de sujets relatifs à : [résolu] petit script en python


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR