[Python-de] deepcopy

Simon Plum simon.plum at gmx.de
Don Jan 8 04:28:43 CET 2004


Hallo,
ich habe ein Problem beim Copieren einer Instance einer komplexen Klasse mit
deepcopy.
Immer wenn ich versuche eine Kopie meiner Instance zu erstellen, bekomme ich
eine Fehlermeldung, dass ein Übergabeparameter fehlt.

als Beispiel:

meine Instance heist symbol

symbol2 = copy.deepcopy(symbol)

daraus folgt die Meldung:
.
.
.
.
.
File "C:\PYTHON23\lib\copy.py", line 179, in deepcopy
    y = copier(x, memo)
  File "C:\PYTHON23\lib\copy.py", line 298, in _deepcopy_inst
    y = x.__class__(*args)
TypeError: __init__() takes exactly 2 arguments (1 given)


Ich habe gelesen, dass ich deepcopy ein Memo übergeben muß, nur kann ich
leider nicht rausfinden wie man das macht.
Versucht habe ich es mit "copy.deepcopy(symbol, symbol.__dict__)", aber
ehrlich gesagt, habe ich noch nicht richtig verstanden, was es mit dem Memo
auf sich hat und ob ich totalen Blödsinn gemacht habe.
Kann mir einer helfen?
Gruss Simon