summaryrefslogtreecommitdiffstats
path: root/Lib/pickle.py
diff options
context:
space:
mode:
authorTim Peters <tim.peters@gmail.com>2003-01-29 00:56:17 (GMT)
committerTim Peters <tim.peters@gmail.com>2003-01-29 00:56:17 (GMT)
commitc0c12b57070a5b494662bebc418e3958bf5bdbee (patch)
tree623a2c66fb7853a02ca1b4a44c80dfa22c47f054 /Lib/pickle.py
parentad8605dfaef7aba64769276364fb90e38cbcb19e (diff)
downloadcpython-c0c12b57070a5b494662bebc418e3958bf5bdbee.zip
cpython-c0c12b57070a5b494662bebc418e3958bf5bdbee.tar.gz
cpython-c0c12b57070a5b494662bebc418e3958bf5bdbee.tar.bz2
pickle: Comment repair.
pickletools: Import decode_long from pickle instead of duplicating it.
Diffstat (limited to 'Lib/pickle.py')
-rw-r--r--Lib/pickle.py13
1 files changed, 9 insertions, 4 deletions
diff --git a/Lib/pickle.py b/Lib/pickle.py
index b9bafce..863702d 100644
--- a/Lib/pickle.py
+++ b/Lib/pickle.py
@@ -37,7 +37,7 @@ import warnings
__all__ = ["PickleError", "PicklingError", "UnpicklingError", "Pickler",
"Unpickler", "dump", "dumps", "load", "loads"]
-# These are purely informational; no code usues these
+# These are purely informational; no code uses these.
format_version = "2.0" # File format version we write
compatible_formats = ["1.0", # Original protocol 0
"1.1", # Protocol 0 with INST added
@@ -47,7 +47,7 @@ compatible_formats = ["1.0", # Original protocol 0
] # Old format versions we can read
# Why use struct.pack() for pickling but marshal.loads() for
-# unpickling? struct.pack() is 40% faster than marshal.loads(), but
+# unpickling? struct.pack() is 40% faster than marshal.dumps(), but
# marshal.loads() is twice as fast as struct.unpack()!
mloads = marshal.loads
@@ -73,6 +73,8 @@ class UnpicklingError(PickleError):
"""
pass
+# An instance of _Stop is raised by Unpickler.load_stop() in response to
+# the STOP opcode, passing the object that is the result of unpickling.
class _Stop(Exception):
def __init__(self, value):
self.value = value
@@ -138,7 +140,7 @@ BINFLOAT = 'G' # push float; arg is 8-byte float encoding
TRUE = 'I01\n' # not an opcode; see INT docs in pickletools.py
FALSE = 'I00\n' # not an opcode; see INT docs in pickletools.py
-# Protocol 2 (not yet implemented).
+# Protocol 2 (XXX not yet implemented).
PROTO = '\x80' # identify pickle protocol
NEWOBJ = '\x81' # build object by applying cls.__new__ to argtuple
@@ -772,6 +774,9 @@ def _keep_alive(x, memo):
memo[id(memo)]=[x]
+# A cache for whichmodule(), mapping a function object to the name of
+# the module in which the function was found.
+
classmap = {} # called classmap for backwards compatibility
def whichmodule(func, funcname):
@@ -780,7 +785,7 @@ def whichmodule(func, funcname):
Search sys.modules for the module.
Cache in classmap.
Return a module name.
- If the function cannot be found, return __main__.
+ If the function cannot be found, return "__main__".
"""
if func in classmap:
return classmap[func]