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 :

Un probl�me avec pickle


Sujet :

Python

  1. #1
    Membre �prouv�

    Profil pro
    Account Manager
    Inscrit en
    D�cembre 2006
    Messages
    2 301
    D�tails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : Account Manager

    Informations forums :
    Inscription : D�cembre 2006
    Messages : 2 301
    Par d�faut Un probl�me avec pickle
    Bonjour.
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    #!/usr/bin/env python
     
    import pickle
     
    file = open("test.txt", 'wb')
    pickle.dump(lambda x: x*2, file)
    file.close()
     
    file = open("test.txt", 'rb')
    var = pickle.load(file)
    file.close()
     
    print(var(4))
    Le code pour Python 3 ci-dessus me renvoie l'erreur suivante :
    Traceback (most recent call last):
    File "/Users/cbal/Documents/myPythonWorld/docUtiles/snippets/pickleAndCo/picklePB.py", line 6, in <module>
    pickle.dump(lambda x: x*2, file)
    File "/Library/Frameworks/Python.framework/Versions/3.1/lib/python3.1/pickle.py", line 1354, in dump
    Pickler(file, protocol, fix_imports=fix_imports).dump(obj)
    _pickle.PicklingError: Can't pickle <class 'function'>: attribute lookup builtins.function failed
    Existe-t-il un moyen de contourner ce probl�me ?

  2. #2
    Expert confirm�
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 085
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activit� : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 085
    Par d�faut
    Existe-t-il un moyen de contourner ce probl�me ?
    Oui

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    #!/usr/bin/env python
    #  -*- coding:utf-8 -*-
     
     
     
    import pickle
    def form(x):
        return x*2
    file = open("test.txt", 'wb')
    pickle.dump(form, file)
    file.close()
     
    file = open("test.txt", 'rb')
    var = pickle.load(file)
    file.close()
     
    print(var(4))

  3. #3
    Membre �prouv�

    Profil pro
    Account Manager
    Inscrit en
    D�cembre 2006
    Messages
    2 301
    D�tails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : Account Manager

    Informations forums :
    Inscription : D�cembre 2006
    Messages : 2 301
    Par d�faut
    J'aurais voulu garder mes lambda fonctions. Je vais passer par une cha�ne pour la d�finition de la lambda fonction puis via un exec pour l'utilisation.

Discussions similaires

  1. VC++ Direct3D8, probl�me avec LPD3DXFONT et LPD3DTEXTURE8
    Par Magus (Dave) dans le forum DirectX
    R�ponses: 3
    Dernier message: 03/08/2002, 11h10
  2. Probl�me avec [b]struct[/b]
    Par Bouziane Abderraouf dans le forum CORBA
    R�ponses: 2
    Dernier message: 17/07/2002, 10h25
  3. Probl�me avec le type 'Corba::Any_out'
    Par Steven dans le forum CORBA
    R�ponses: 2
    Dernier message: 14/07/2002, 18h48
  4. Probl�me avec la m�moire virtuelle
    Par Anonymous dans le forum CORBA
    R�ponses: 13
    Dernier message: 16/04/2002, 16h10

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