Hola,
tengo una clase C, a cuyos objetos puedo, en principio, hacer copias
con copy.deepcopy().
Sin embargo, cuando a la clase C le agrego logging en el __init__ [1],
ya no funciona [2].
?No me queda mas remedio que copiar el objeto "manualmente"?
?O existe alguna forma limpia de evitar este problema?
Gracias por adelantado.
Un saludo, y perdon por la falta de tildes.
Jose
[1]
def __init__(self):
self.log = logging.getLogger()
logStream = logging.StreamHandler()
....
self.log.addHandler(logStream)
[2]
File "/usr/lib64/python2.7/copy.py", line 190, in deepcopy
y = _reconstruct(x, rv, 1, memo)
File "/usr/lib64/python2.7/copy.py", line 334, in _reconstruct
state = deepcopy(state, memo)
File "/usr/lib64/python2.7/copy.py", line 163, in deepcopy
y = copier(x, memo)
File "/usr/lib64/python2.7/copy.py", line 257, in _deepcopy_dict
y[deepcopy(key, memo)] = deepcopy(value, memo)
File "/usr/lib64/python2.7/copy.py", line 190, in deepcopy
y = _reconstruct(x, rv, 1, memo)
File "/usr/lib64/python2.7/copy.py", line 334, in _reconstruct
state = deepcopy(state, memo)
File "/usr/lib64/python2.7/copy.py", line 163, in deepcopy
y = copier(x, memo)
File "/usr/lib64/python2.7/copy.py", line 257, in _deepcopy_dict
y[deepcopy(key, memo)] = deepcopy(value, memo)
File "/usr/lib64/python2.7/copy.py", line 163, in deepcopy
y = copier(x, memo)
File "/usr/lib64/python2.7/copy.py", line 230, in _deepcopy_list
y.append(deepcopy(a, memo))
File "/usr/lib64/python2.7/copy.py", line 190, in deepcopy
y = _reconstruct(x, rv, 1, memo)
File "/usr/lib64/python2.7/copy.py", line 334, in _reconstruct
state = deepcopy(state, memo)
File "/usr/lib64/python2.7/copy.py", line 163, in deepcopy
y = copier(x, memo)
File "/usr/lib64/python2.7/copy.py", line 257, in _deepcopy_dict
y[deepcopy(key, memo)] = deepcopy(value, memo)
File "/usr/lib64/python2.7/copy.py", line 190, in deepcopy
y = _reconstruct(x, rv, 1, memo)
File "/usr/lib64/python2.7/copy.py", line 334, in _reconstruct
state = deepcopy(state, memo)
File "/usr/lib64/python2.7/copy.py", line 163, in deepcopy
y = copier(x, memo)
File "/usr/lib64/python2.7/copy.py", line 257, in _deepcopy_dict
y[deepcopy(key, memo)] = deepcopy(value, memo)
File "/usr/lib64/python2.7/copy.py", line 190, in deepcopy
y = _reconstruct(x, rv, 1, memo)
File "/usr/lib64/python2.7/copy.py", line 329, in _reconstruct
y = callable(*args)
File "/usr/lib64/python2.7/copy_reg.py", line 93, in __newobj__
return cls.__new__(cls, *args)
TypeError: object.__new__(thread.lock) is not safe, use thread.lock.__new__()
_______________________________________________
Python-es mailing list
[email protected]
https://mail.python.org/mailman/listinfo/python-es