Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > de.comp.lang.python > #5820

[Python-de] Re: dataclass: Unterschied zu automatischer

From Stefan Behnel <python-de@behnel.de>
Newsgroups de.comp.lang.python
Subject [Python-de] Re: dataclass: Unterschied zu automatischer
Date 2022-05-13 18:03 +0200
Message-ID <7f5bded9-7c18-feaa-0b76-834573040e80@behnel.de> (permalink)
References <f2138ea335d55c76b5e2433fc8710713@posteo.de> <013a3cfd0c91a73055b920f9be9f45ad@posteo.de>

Show all headers | View raw


c.buhtz@posteo.jp schrieb am 13.05.22 um 12:23:
> Eine Konsequenz scheint zu sein, dass ich eine automatisch erzeugte 
> dataclass nicht pickeln kann. Ich bekomme den Fehler 
> "_pickle.PicklingError: Can't pickle <class 'types.X'>: attribute lookup X 
> on types failed"
> 
> Wenn ich aber den Modulnamen ändere
> x.__module__ = '__main__'
> geht es auch mit Pickle.

Ja, das ist auch zu erwarten. Pickle muss die Klasse ja irgendwo her 
bekommen, um beim Auspickeln ein Objekt davon erzeugen zu können. Dazu 
benötigt es den Package/Modul-Pfad.

Das selbe Problem würdest du mit einem namedtuple haben, mit lokal 
innerhalb einer Funktion erzeugten Klassen, oder anderen Datentypen, bei 
denen nicht klar ist, woher sie kommen und wie sie zugänglich sind.

Stefan

Back to de.comp.lang.python | Previous | NextPrevious in thread | Find similar


Thread

[Python-de] dataclass: Unterschied zu automatischer Generierung aus dict c.buhtz@posteo.jp - 2022-05-13 08:06 +0000
  [Python-de] Re: dataclass: Unterschied zu automatischer Generierung c.buhtz@posteo.jp - 2022-05-13 10:23 +0000
    [Python-de] Re: dataclass: Unterschied zu automatischer Stefan Behnel <python-de@behnel.de> - 2022-05-13 18:03 +0200

csiph-web