New submission from Hans Polak: This simple code works, but I have two 'import pickle' lines.
The none working code has one 'import pickle' outside the class definition. This raises a Nonetype error in the pickle module, in the __del__ method. I'd like to know why and I think it's a bug, or is it? class Login(): users = {} def __init__(self): try: with open('user.data','rb') as f: import pickle self.users = pickle.load(f) # print('init: {}'.format(self.users)) except Exception: #'user.data' file doesn't exist pass def __del__(self): try: with open('user.data','wb') as f: # print('del: {}'.format(self.users)) # print(type(self.users)) # print(type(f)) import pickle pickle.dump(self.users, f, pickle.HIGHEST_PROTOCOL) except Exception as e: print('__del__ Shit happened: {}'.format(e)) ---------- assignee: docs@python components: Documentation messages: 212598 nosy: Hans.Polak, docs@python priority: normal severity: normal status: open title: Pickle Nonetype type: behavior versions: Python 3.2 _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue20836> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com