在文件中,字符串可以很方便的读取写入,数字可能稍微麻烦一些,因为read()方法只返回字符串,我们还需要将其传给int()这样的函数,使其将如"1994"的字符串转为数字1945.但是,如果要半寸更复杂的数据类型,如列表,字典,或者类的实例,那么就会更复杂了。
为了让用户在平常的编程和测试时保存复杂的数据类型,python提供了标准模块,称为pickle.这个模块可以将几乎任何的python对象(甚至是python的代码),转换为字符串表示,这个过程称为pickling.而要从里面重新构造回原来的对象,则称为unpickling.在pickling和unpicking之间,表示这些对象的字符串表示,可以存于一个文件,也可以通过网络远程机器间传输。
如果你有一个对象friend,和一个已经打开并用于写的文件对象f,pickle这个对象最简单的方式就是使用:
pickle.dunmp(friend,f)
# Pickle模块读入任何Python对象,将它们转换成字符串,然后使用dump函数将其转储到一个文件中——这个过程叫做pickling。