我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Python永久存储和异常处理的方法是什么

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Python永久存储和异常处理的方法是什么

本篇内容介绍了“Python永久存储和异常处理的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

  Python之永久存储(pickle模块)

  存储成一个二进制数列

  存放:pickling

  读取:unpickling

  永久存储一个列表

  >>> import pickle

  >>> my_list = [123,3.14159,'China',['another list']]

  >>> pickle_file = open('E:\hyx02\Python学习\my_list.pkl','wb')

  >>> pickle.dump(my_list,pickle_file)

  >>> pickle_file.close

  my_list.pkl中的后缀名写什么都可以。

  上面的dump()方法:

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

  序列化对象,将对象obj保存到文件file中去。参数protocol是序列化模式,默认是0(ASCII协议,表示以文本的形式进行序列化),protocol的值还可以是1和2(1和2表示以二进制的形式进行序列化。其中,1是老式的二进制协议;2是新二进制协议)。file表示保存到的类文件对象,file必须有write()接口,file可以是一个以'w'打开的文件或者是一个StringIO对象,也可以是任何可以实现write()接口的对象。

  测试一下刚才的存储结果:

  >>> pickle_file = open('E:\hyx02\Python学习\my_list.pkl','rb')

  >>> my_list2 = pickle.load(pickle_file)

  >>> print(my_list2)

  [123, 3.14159, 'China', ['another list']]

  代码中的rb:二进制形式

  同理:

  永久存储一个字典

  我们可以利用这种方法把数据做成一个数据包

  例如:把一个字典(很多城市的信息)写成一个包

  >>> import pickle

  >>> pickle_file=open('E:\hyx02\Python学习\city_data.aaa','wb')

  >>> city={'北京':'简称“京”,古称燕京、北平,是中华人民共和国首都、省级行政区、直辖市、国家中心城市、超大城市。'}

  >>> pickle.dump(city,pickle_file)

  >>> pickle_file.close()

  然后调用时:

  >>> import pickle

  >>> pickle_file=open('E:\hyx02\Python学习\city_data.aaa','rb')

  >>> city2 = pickle.load(pickle_file)

  >>> city2

  {'北京': '简称“京”,古称燕京、北平,是中华人民共和国首都、省级行政区、直辖市、国家中心城市、超大城市。'}

  就可以精简程序了

  Python之异常处理(Exception)

  file_name = input('请输入需要打开的文件名:')

  f = open(file_name)

  print('文件的内容是:')

  for each_line in f:

  print(each_line)

  输入错误文件名:抛出找不到文件异常FileNotFoundError

  FileNotFoundError: [Errno 2] No such file or directory: 'aaa'

Python永久存储和异常处理的方法是什么

  常见异常

  AssertionError:断言语句(assert)失败

  >>> my_list = ['aaaaa']

  >>> assert len(my_list) > 0

  >>> my_list.pop()

  'aaaaa'

  >>> assert len(my_list) > 0

  Traceback (most recent call last):

  File "", line 1, in

  assert len(my_list) > 0

  AssertionError

  抛出AssertionError异常,assert作为程序中间的检查点

  如下图:

Python永久存储和异常处理的方法是什么

  AttributeError:尝试访问未知的对象属性

  >>> my_list.aaa

  Traceback (most recent call last):

  File "", line 1, in

  my_list.aaa

  AttributeError: 'list' object has no attribute 'aaa'

  抛出AttributeError异常,如下图:

Python永久存储和异常处理的方法是什么

  IndexError:索引超出序列的范围

  KeyError:不存在的Key

  >>> my_dict = {'one':1,'two':2,'three':3}

  >>> my_dict['fout']

  Traceback (most recent call last):

  File "", line 1, in

  my_dict['fout']

  KeyError: 'fout'

  抛出KeyError异常,如下图:

  #用get()方法不会抛异常

Python永久存储和异常处理的方法是什么

  NameError:访问不存在的变量

  OSError:操作系统产生的异常,有很多,比如最开始的FileNotFoundError就属于OSError

  OverflowError:数值运算超出最大限制,Python中不常见

  SyntaxError:Python的语法错误

  >>> print 'aaa'

  SyntaxError: Missing parentheses in call to 'print'. Did you mean print('aaa')?

  抛出语法错误,没有括号,要变成函数调用的形式

  如下图:

  郑州哪家人流医院好 http://3g.zyfuke.com/

Python永久存储和异常处理的方法是什么

  TypeError:无法计算,例如不同类型之间运算

  ZeroDivisionError:除数为0

  异常检测

  try_except语句

  try:

  检测范围

  except Exception[as reason]:

  出现异常(Exception)后的处理代码

  例子:

  try:

  f = open('xxx.txt')

  print(f.read())

  f.close()

  except OSError as reason:

  print('文件出错啦~\n错误的原因是:'+str(reason))

  except TypeError as reason:

  print('类型出错啦~\n错误的原因是:'+str(reason))

  运行结果如下图:

Python永久存储和异常处理的方法是什么

  try:

  sum = 1 + '1'

  f = open('xxx.txt')

  print(f.read())

  f.close()

  except OSError as reason:

  print('文件出错啦~\n错误的原因是:'+str(reason))

  except TypeError as reason:

  print('类型出错啦~\n错误的原因是:'+str(reason))

  运行结果如下图:

Python永久存储和异常处理的方法是什么

  也可以合并写作:

  except (OSError,TypeError) as reason:

  print('出错啦~\n错误的原因是:'+str(reason))

  但是不推荐上述try_except语句,比如由于程序中断而导致的没有关闭文件,于是有: try-finally语句

  try-finally语句

  try:

  检测范围

  except Exception[as reason]

  出现异常(Exception)后的处理代码

  finally:

  无论如何都会被执行的代码

  例子:

  try:

  f = open('xxx.txt')

  print(f.read())

  sum = 1 + '1'

  except (OSError,TypeError) as reason:

  print('出错啦~\n错误的原因是:'+str(reason))

  finally:

  f.close()

  raise语句

  >>> raise ZeroDivisionError('除数为0的异常')

  显示上述解释内容

Python永久存储和异常处理的方法是什么

“Python永久存储和异常处理的方法是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Python永久存储和异常处理的方法是什么

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Python永久存储和异常处理的方法是什么

本篇内容介绍了“Python永久存储和异常处理的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  Python之永久存储(pick
2023-06-01

oracle存储过程异常处理的方法是什么

在Oracle存储过程中,可以使用异常处理来捕获并处理异常情况。异常处理可以通过以下几种方式来实现:1、使用EXCEPTION部分:在存储过程中,可以使用EXCEPTION部分来捕获异常并进行相应的处理。可以使用自定义的异常类型或者系统定
oracle存储过程异常处理的方法是什么
2024-03-05

MySQL存储过程异常处理的方法是什么

MySQL存储过程可以通过以下方法进行异常处理:使用DECLARE语句声明一个异常变量,然后使用HANDLER语句来处理异常。例如:DECLARE exit HANDLER FOR sqlexceptionBEGIN-- 处理异常的代码.
2023-10-25

Python中处理异常的方法是什么

在Python中处理异常的方法是使用try-except语句。try块中包含可能会抛出异常的代码,而except块中包含处理异常的代码。例如:try:# 可能会抛出异常的代码result = 10 / 0except ZeroDivis
Python中处理异常的方法是什么
2024-03-12

Python中的异常处理方法是什么

这篇文章主要介绍“Python中的异常处理方法是什么”,在日常操作中,相信很多人在Python中的异常处理方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python中的异常处理方法是什么”的疑惑有所
2023-07-06

python中异常处理的方法是什么

Python中的异常处理方法是使用`try-except`语句块来捕获和处理异常。以下是一些常见的异常处理方法:1. 使用`try-except`语句块捕获指定类型的异常:```pythontry:# 可能会引发异常的代码...except
2023-08-08

python终止协程和异常处理的方法是什么

本文小编为大家详细介绍“python终止协程和异常处理的方法是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“python终止协程和异常处理的方法是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。协程中未处
2023-07-04

redis数据永久保存的方法是什么

要实现Redis数据的永久保存,可以通过以下几种方法:1. RDB持久化:Redis可以定期将内存中的数据快照保存到磁盘上,形成一个RDB文件。可以通过配置文件中的save选项设置保存策略,例如save 60 10000表示在60秒内如果发
2023-09-06

Ruby数据存储和处理的方法是什么

在Ruby中,数据存储和处理的方法通常使用数据库来实现。常用的数据库包括MySQL、PostgreSQL、SQLite等。可以使用ORM(Object-Relational Mapping)框架如ActiveRecord来简化数据库操作,也
Ruby数据存储和处理的方法是什么
2024-04-10

Python常见异常的处理方式是什么

这篇文章主要介绍“Python常见异常的处理方式是什么”,在日常操作中,相信很多人在Python常见异常的处理方式是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python常见异常的处理方式是什么”的疑
2023-07-05

JS异常抛出和处理的方法是什么

今天小编给大家分享一下JS异常抛出和处理的方法是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。抛出异常在 js 中,有时
2023-07-04

Scala异常处理的方法是什么

这篇文章主要介绍“Scala异常处理的方法是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Scala异常处理的方法是什么”文章能帮助大家解决问题。Scala异常处理Scala是一种多范式的编程语
2023-07-05

Scala异常处理方法是什么

这篇“Scala异常处理方法是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Scala异常处理方法是什么”文章吧。Sca
2023-06-27

Java异常处理的的方法是什么

本篇内容主要讲解“Java异常处理的的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java异常处理的的方法是什么”吧!1) 为可恢复的错误使用检查型异常,为编程错误使用非检查型错误。
2023-06-16

C#中处理异常的方法是什么

在C#中处理异常的方法可以使用try-catch语句块。在try块中编写可能抛出异常的代码,然后在catch块中捕获并处理这些异常。例如:try{// 可能抛出异常的代码}catch (Exception ex){// 处理异常的
C#中处理异常的方法是什么
2024-03-06

SpringBoot中处理异常的方法是什么

在SpringBoot中处理异常的方法有以下几种:使用@ControllerAdvice注解和@ExceptionHandler注解来处理全局异常。通过创建一个全局异常处理类,使用@ControllerAdvice注解标记这个类,然后在方法
SpringBoot中处理异常的方法是什么
2024-03-07

Python之异常值检测和处理方式是什么

这篇文章主要讲解了“Python之异常值检测和处理方式是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python之异常值检测和处理方式是什么”吧!1 什么是异常值?在机器学习中,异常检
2023-07-02

Python基础教程之异常处理的方法是什么

这篇文章主要介绍“Python基础教程之异常处理的方法是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python基础教程之异常处理的方法是什么”文章能帮助大家解决问题。异常在Python中,使
2023-07-05

kotlin协程异常处理的方法是什么

Kotlin协程的异常处理方法有以下几种:1. 使用try/catch块:在协程内部使用try/catch块来捕获异常,并对异常进行处理。例如:```kotlinGlobalScope.launch {try {// 协程代码块} catc
2023-09-20

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录