Python: How do I write a list to file and then pull it back into memory (dict represented as a string convert to dict) later?

后端 未结 6 2018
遥遥无期
遥遥无期 2020-12-23 11:48

More specific dupe of 875228—Simple data storing in Python.

I have a rather large dict (6 GB) and I need to do some processing on it. I\'m trying out several docume

6条回答
  •  庸人自扰
    2020-12-23 12:35

    Why not use python pickle? Python has a great serializing module called pickle it is very easy to use.

    import cPickle
    cPickle.dump(obj, open('save.p', 'wb')) 
    obj = cPickle.load(open('save.p', 'rb'))
    

    There are two disadvantages with pickle:

    • It's not secure against erroneous or maliciously constructed data. Never unpickle data received from an untrusted or unauthenticated source.
    • The format is not human readable.

    If you are using python 2.6 there is a builtin module called json. It is as easy as pickle to use:

    import json
    encoded = json.dumps(obj)
    obj = json.loads(encoded)
    

    Json format is human readable and is very similar to the dictionary string representation in python. And doesn't have any security issues like pickle. But might be slower than cPickle.

提交回复
热议问题