Name
load, loads
Synopsis
load(fileobj) loads(str)
loads creates and returns the object
v previously dumped to string
str, so that, for any object
v of a supported type,
v equals
loads(dumps(
v
)).
If str is longer than
dumps(
v
),
loads ignores the extra bytes.
load reads the right number of bytes from file
object fileobj, which must be opened for
reading in binary mode, and creates and returns the object
v represented by those bytes.
fileobj cannot be a file-like object: it
must be an instance of type file.
Functions load and dump are
complementary. In other words, a sequence of calls to
load(
f
)
deserializes the same values previously serialized when
f’s contents were created
by a sequence of calls to
dump(
v,f
).
Objects that are dumped and loaded in this way can be instances of
any mix of supported types.
Suppose you need to analyze several text files, whose names are given
as your program’s arguments, and record where each
word appears in those files. The data you need to record for each
word is a list of
(
filename,
line-number
) pairs. The
following example uses marshal to encode lists of
(
filename,
line-number
) pairs as
strings and store them in a DBM-like file (as covered later in this
chapter). Since those lists contain tuples, each made up of a string
and a number, they are within
marshal’s abilities to serialize.
import fileinput, marshal, anydbm wordPos = { } for line in fileinput.input( ): pos = fileinput.filename( ), fileinput.filelineno( ) for word in line.split( ...Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access