Özel özel durum sınıfımın altında neden turşu modülünü kullanarak seri hale getirilmiyor/dizisi kaldırılamıyor?Birden çok init args seçilebilen özel bir özel durum sınıfı nasıl yapılır
Traceback (most recent call last):
File "test.py", line 13, in <module>
obj = pickle.loads(str)
File "/usr/lib/python2.7/pickle.py", line 1382, in loads
return Unpickler(file).load()
File "/usr/lib/python2.7/pickle.py", line 858, in load
dispatch[key](self)
File "/usr/lib/python2.7/pickle.py", line 1133, in load_reduce
value = func(*args)
TypeError: __init__() takes exactly 3 arguments (2 given)
Bu sorun bir sınıf turşu dostu hale nasıl benim tarafında bilgi eksikliğinden kaynaklanıyor eminim:
import pickle
class MyException(Exception):
def __init__(self, arg1, arg2):
self.arg1 = arg1
self.arg2 = arg2
super(MyException, self).__init__(arg1)
e = MyException("foo", "bar")
str = pickle.dumps(e)
obj = pickle.loads(str)
Bu kod aşağıdaki hatayı atar. İlginçtir, sınıfım Özel Durum'u genişletmediğinde bu sorun oluşmaz.
Yardımlarınız için teşekkür ederiz. Kyle
DÜZENLEME: shx2 başına super EDIT çağrıma Tespit: Başlık temizleniyor/içerik