Python学习日记(4)使用Pickle()模块读写对象

使用pickle存储对象

我们可以将任何对象转化为文本进行储存,但是,复杂的对象映射成文本,在从新映射回来一定非常麻烦。

所以,我们使用pickle()模块进行文本的映射封装。

pickle对象使用“rb”,“wb”来打开文件并进行输入输出。

如果要保存对象,就使用pickle.dump()函数。

它的第一个参数是要“转储”,或者说是要储存文件的对象,第二个参数接收文件的对象。

import pickle

lyst = ["test1_string",11,60]

ff = open("admin.txt","wb")

for i in lyst:
    pickle.dump(i,ff)  #将列表的值取出来,放入打开的文件实例中

ff.close()

文件存储完毕后,如果要加载存储的对象,比如例子中列表的对象lyst,可以使用pickle.load()函数

将封装的对象加载到程序中,如果达到了文件末尾,这个函数会引发一个异常。因为在引发异常之前,没有明确的方法来检查是否已经达到了文件末尾

所以这里要使用try-except语句捕获这个异常;

import pickle
lyst = []
ff = open("admin.txt","rb")

while True: #这里while True是因为pickle.load函数一次只取出了文件中的一个对象
    try:
        item = pickle.load(ff)
        lyst.append(item)
    except EOFError: #EOFError错误接收文件读取完毕后报错,此时关闭文件并跳出循环
        ff.close()
        break

print(lyst)

字符串和列表的处理

lyst.strip() #删除对象内的所有空白
lyst.lower() #将对象内所有元素变为小写 
lyst.upper() #将对象内所有元素变为大写
lyst.title() #将对象内所有元素变首字母大写
lyst.center() #居中对齐
lyst.ljust() #靠左对齐
lyst.rjust() #靠右对齐
lyst.isalpha() #判断对象是否是纯字母,返回布尔值
lyst.isdigit() #判断对象是否是纯数字,返回布尔值
lyst.isalnum() #判断对象是否是字母加数字,返回布尔值
lyst.abs() #返回对象的绝对值

 

posted @ 2018-07-11 20:31  奢华使命  阅读(615)  评论(0编辑  收藏  举报