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 :

Erreur de copie d'objet avec __getattr__


Sujet :

Python

  1. #1
    Membre éclairé

    Profil pro
    Inscrit en
    Mai 2002
    Messages
    641
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 641
    Par défaut Erreur de copie d'objet avec __getattr__
    Bonjour,

    Je rencontre une erreur quand j'utilise copy.copy (ou deepcopy) sur un object :
    File "/home/jerome/python/tools/test/libmodel.py", line 86, in find
    models.append(copy.deepcopy(model))
    File "/usr/lib/python2.5/copy.py", line 162, in deepcopy
    y = copier(x, memo)
    File "/usr/lib/python2.5/copy.py", line 278, in _deepcopy_inst
    return x.__deepcopy__(memo)
    TypeError: 'NoneType' object is not callable

    L'erreur semble liée à l'utilisation de __getattr__.
    Qui a une idée ?

  2. #2
    Membre Expert Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Par défaut
    Bonjour,

    Sur une classe (ou objet) perso ?

    @+

  3. #3
    Membre éclairé

    Profil pro
    Inscrit en
    Mai 2002
    Messages
    641
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 641
    Par défaut
    Citation Envoyé par PauseKawa Voir le message
    Bonjour,

    Sur une classe (ou objet) perso ?

    @+
    Oui.

    J'ai un autre problème avec l'utilisation de __getattr__() et __setattr__() dans une classe. J'aimerais les utiliser à la manière de __get() et __set() pour lire et écrire des variables non définies dans un dictionnaire qui sera une variable d'instance. A côté je définirai des variables d'instance de façon explicite.
    Or cela ne fonctionne pas. Lorsque je crée la variable d'instance dans __init__() :
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    def __init__(self):
        self._vars = {}
    j'obtiens une erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RuntimeError: maximum recursion depth exceeded

Discussions similaires

  1. Réponses: 1
    Dernier message: 30/03/2013, 20h38
  2. [XL-2007] Copie de feuille avec objets
    Par seba_stien dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 02/05/2011, 08h21
  3. Erreur lors du marshalling d'une grappe d'objet avec Castor XML
    Par mbinte dans le forum Persistance des données
    Réponses: 2
    Dernier message: 29/08/2008, 17h07
  4. Copie d'un objet avec un attribut de type vector
    Par yassine480480 dans le forum C++
    Réponses: 7
    Dernier message: 02/08/2008, 09h53
  5. Erreur de compilation de fichier objet avec gtk
    Par oranoutan dans le forum GTK+
    Réponses: 2
    Dernier message: 14/09/2007, 15h22

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