fr . comp . lang . python


Service Usenet Gratuit - You The Net .Com Consultez les groupes de news usenet nntp avec www.youthenet.com Postez et suivez voos fils de discussions gratuitement avec you the net .com le service gratuit de news en ligne

Re: string to keyword args sur Fr Comp Lang Python



Groupes les plus fournis
sci astronautique lettres langue francaise rec son-image video materiel comp materiel optimisation comp os mac-os classiques comp reseaux ip rec arts musique jazz rec arts musique metal comp reseaux ethernet comp algorithmes lettres langues-anciennes grec test petites-annonces divers comp developpement agl windev sci electrotechnique usenet-fr emile durkheim comp sys palm-pilot comp lang python rec cuisine bonnes-adresses comp os linux configuration


Derniers posts youthenet
Re: Démission pour création d'entreprise commerce ou service Que pensez-vous de la doctrine de James Madison ? Re: envoi des données à un serveur html la demeure du chaos Re: Alice au pays de Free (d'après la t ribune) Re: Est-ce ue violation de la GPL? Re: L'ultra libéralisme du chemin de fer prôné par Sarkozy... Président langue de bois ? la compagnie de l'autre

actualité

Nouvelle découverte d'un python à Bruxelles
7sur7 - 27 août 2008
La police de la zone de Bruxelles-Nord a trouvé dans la nuit de mardi à mercredi, vers 02h00, un python dans la cour intérieure d'un immeuble situé rue ...
Un couple homosexuel violemment agressé à Schaerbeek RTL Info.be
6 autres articles
source

actualité

Un python tue un soigneur dans un zoo
7sur7 - 26 août 2008
Dans un zoo de Caracas, au Venezuela, un python a tué un soigneur. Le serpent a introduit la tête du malheureux dans sa gueule sous les yeux de ses ...
source

Accueil |  Ajouter aux Favoris |  Inscription |  connexion |  Flux RSS de fr.comp.lang.python |

fr . comp . lang . python

Re: string to keyword args



accueil . fr . comp . lang . python




Re: string to keyword args

   
Sujet: Re: string to keyword args
De: bruno.42.desthuilliers (l' arobase) websiteburo.invalid (Bruno Desthuilliers)
Groupes: fr.comp.lang.python
Organisation: Guest of ProXad - France
Date: 11. Jun 2008, 08:32:31
jean-marc pouchoulon a écrit :
Bonsoir à tous,
comment passer le string "a='toto',b='titi'" comme suite d'arguments nommés à un initialisateur de classe.

Que ce soit un initialiseur (d'instance, d'ailleurs, en fait) ne change pas grand chose. Le problème est le même avec n'importe quelle fonction.

C'est surement simple mais je séche.

Il y a effectivement une solution simple, mais potentiellement dangereuse:

 >>> s = "a=10, b=20"
 >>> class Toto(object):
....     def __init__(self, **kw):
....             self.__dict__.update(kw)
....
 >>> t = eval("Toto(%s)" % s)
 >>> t
<__main__.Toto object at 0xb78c6c4c>
 >>> t.a
10
 >>> t.b
20
 >>>



class LigneLog(object):

   def __init__(self,**kw):
       print kw
       self.__dict__.update(kw)

   def __repr__(self):
       return "<ligne de log: %r, %r, %r, %r, %r>"  % (self.date,self.heure,self.compte,self.ipsrc,self.url1)

colnames=('date','heure','compte','ipsrc','url1','interdit','status')

def vtop(z):
    return( z[0] + '=' + '"' + str(z[1]) + '"')


session = create_session()
for t in tuples:
    ligne=LigneLog(",".join(([vtop(z) for z in zip(colnames,t)])))
    session.save(ligne)

Heu... t'es candidat pour le daily WTF, camarade ???

Bon, comme d'hab quand on est tenté de sortir eval() ou exec(), il y a une bien meilleure solution. Ici, c'est simple : construit un dict au lieu d'une chaine, et passe le dict à ta fonction.


colnames=('date','heure','compte','ipsrc','url1','interdit','status')
session = create_session()
for t in tuples:
     ligne = LigneLog(**dict(zip(colnames,t)))
     session.save(ligne)

session.flush()



Date Sujet  Auteur
01.01. o 
Derniers articles
petites-annonces informatique autos mitsubishi jobs offres jobs demandes jobs d jobs rec moto soc politique rec photo numerique misc engueulades petites-annonces informatique sci physique misc droit comp os linux configuration soc religion

Derniers messages
petites-annonces informatique autos mitsubishi jobs offres jobs demandes jobs d jobs rec moto reseaux telecoms adsl soc politique sci physique misc droit misc engueulades rec photo numerique soc religion comp os linux configuration

actualité

Nouvelle découverte d'un python à Bruxelles
7sur7 - 27 août 2008
La police de la zone de Bruxelles-Nord a trouvé dans la nuit de mardi à mercredi, vers 02h00, un python dans la cour intérieure d'un immeuble situé rue ...
Un couple homosexuel violemment agressé à Schaerbeek RTL Info.be
6 autres articles
source

actualité

Un python tue un étudiant au zoo de Caracas
Zigonet - 27 août 2008
Zoo de Caracas, Venezuela ' Un python birman de trois mètres a tué un gardien de nuit ce week-end. Les collègues de l'étudiant l'ont retrouvé alors que le ...
source


 




Copyright 2008 ©  - YouTheNet.com

| sinusitis |