Pickle 永久存储
pickle模块用来记录一些列表,字典,集合等数据,将它们存储在一个文件夹中作为数据包,等到使用的时候再打开读取。
import pickle my_list = ['chuang','520','bb',['1','a']] #可以是列表,可以是字典,可以是集合 pickle_file = open('my_list.pkl','wb') #创建一个叫my_list的文件,类型为pkl pickle.dump(my_list,pickle_file) #把列表保存到pikle_file里 pickle_file.close() #把文件关闭以存储 pickle_file = open('my_list.pkl','rb') #读取文件 my_list2 = pickle.load(pickle_file) #读取pkl后缀的文件保存到新的列表 pickle_file.close()
像上面这个程序,就是存储了一个列表到pkl后缀的这样一个文件中,以二进制的方式存储,因此读写文件的时候都是rb和wb。存储的方法名是dump,读取的方法名是load。
Exception(异常处理)
常见的异常错误 (报错的时候其实直接百度就可以了)
AssertionError 断言错误 断言assert用来判断后面的语句是否为真,如果为假的话返回断言错误
AttributeError 对象访问错误 要访问的对象不存在的时候会出现
IndexError 索引错误 索引的值超出了序列范围
KeyError 关键字错误 字典中不存在相应关键字的时候报错
NameError 变量名错 不存在这样的变量
OSError 系统异常 是一个错误类,比如打开不存在的文件
OverflowError 溢出错误
SyntaxEriror 语法错误
TypeError 类型错误 比如字符串与数值型变量相加
ZeroDivisionError 除数为零引发的异常
Try语句来捕获异常
Try语法
例子 文件不存在的时候会报文件找不到的系统错误,所以用try语句当出现OSError的时候,显示“文件出错了”而不是显示异常
也可以是
reason只是一个变量名
Try-finally语句
比如finally语句可以用来关闭文件 file.close(),不管有没有异常都会执行finally后面的语句
raise语句
自己引发一个异常 raise+异常名就可以了
比如 raise ZeroDivisionError(’除数为零的异常')
会显示 ZeroDivisionError:除数为零的异常