zoukankan      html  css  js  c++  java
  • python的pickle模块、捕捉异常-第七天

    1.pickle 模块
    python的pickle模块实现了基本的数据序列和反序列化。

    通过pickle模块的序列化操作我们能够将程序中运行的对象信息保存到文件中去,永久存储。

    通过pickle模块的反序列化操作,我们能够从文件中创建上一次程序保存的对象。

    基本接口:

    pickle.dump(obj, file, [,protocol])

    有了 pickle 这个对象, 就能对 file 以读取的形式打开:

    x = pickle.load(file)

    注解:从 file 中读取一个字符串,并将它重构为原来的python对象。
    file: 类文件对象,有read()和readline()接口。

    >>> import pickle
    >>> my_list = [123,3.14,'小甲鱼',['another list']]
    >>> pickle_file = open('F:\22_java\my_list.pkl','wb')
    >>> pickle.dump(my_list,pickle_file)
    >>> pickle_file.close()
    >>> pickle_file = open('F:\22_java\my_list.pkl','rb')
    >>> my_list2 = pickle.load(pickle_file)
    >>> print(my_list2)
    [123, 3.14, '小甲鱼', ['another list']]


    2.try-except语句
    try:
    检测范围
    except Exception[as reason]:
    出现异常(Exception)后的处理代码
    finally:
    无论如何都会被执行的代码

    3.raise
    raise:语句抛出一个指定的异常。
    语法:raise [Exception [, args [, traceback]]]

    exa:
    >>> raise ZeroDivisionError('除数不能为0')

    4.try/except...else
    try/except 语句还有一个可选的 else 子句,如果使用这个子句,那么必须放在所有的 except 子句之后。

    else 子句将在 try 子句没有发生任何异常的时候执行。
    try:
    print(int('123'))
    except ValueError as reason:
    print('出错了:' + str(reason))
    else:
    print('没有任何异常')

    5.关键词 with 语句就可以保证诸如文件之类的对象在使用完之后一定会正确的执行他的清理方法:
    with open("myfile.txt") as f:
    for line in f:
    print(line, end="")
    以上这段代码执行完毕后,就算在处理过程中出问题了,文件 f 总是会关闭。

  • 相关阅读:
    在Android工程中运行Java程序问题
    sklearn.neighbors.kneighbors_graph的简单属性介绍
    python中的“.T”操作
    numpy中关于*和dot的区别
    一个Window Service引发的感想
    项目管理之初步认识
    由敏捷开发中开发认领自己的工作内容的感想
    SQL Server2008 inner join多种方式的实践
    浅谈业务逻辑和技术哪个更重要
    敏捷人生之初步认识
  • 原文地址:https://www.cnblogs.com/LEPENGYANG/p/14130826.html
Copyright © 2011-2022 走看看