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 <[email protected]>
<http://bugs.python.org/issue20836>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com