Python实操(文件操作与异常处理)

文件操作

打开文件

格式①:open(文件名,mode = ‘r’,encoding = None) #将硬盘中的文件 加载到内存中

格式②:

with open(文件名,encoding = None as) as 变量:#变量就是文件对象
	pass

①使用这种写法打开文件,会自动进行关闭,不用手动书写关闭的代码
②除了 with 的缩进之后,文件就会自动关闭

r:只读 read ,如果文件不存在,会报错
w:只写 write,如果文件存在,会覆盖文件
a:追加 append,在文件的末尾写入新的内容

encoding 编码格式,指 二进制数据 和 汉字 转换的规则

①utf-8 :将一个汉字转换为 3 个字节的二进制
②gbk:将一个汉字转换为 2 个字节的二进制

关闭文件

格式:文件对象.close() #关闭文件,如果是 写文件,会自动保存,即内存中的数据同步到硬盘中

读文件

格式:变量 = 文件对象.read()

返回值:返回读取到的文件内容,类型是字符串

按行读取文件

适合读取大文件

格式:文件对象.readline() #一次读取一行的内容,返回读取到的内容。(如果读取多行,则按顺序进行读取)

read()readline():如果读取到文件末尾,返回的都是 空字符串

写文件

格式:文件对象.write()

参数:写入文件的内容,类型 字符串
返回值:写入文件中的字符串,字符串的长度一般不关注

JSON文件

JSON语法

json文件是一个 对象 或者 数组 ,对象和数组可以相互嵌套的

json中的对象是由键值对组成的,键 必须是 字符串类型

json中的数据直接使用逗号隔开,最后一个数据后边不能加逗号

json中的数据类型

①对象{ } 对应python的字典
②数组{ } 对应python的列表
③字符串,必须使用双引号
④数字类型 对应python的int、float
⑤bool类型(true、false) 对应python的ture、false
⑥空值 null对应python的None

读取JSON文件

①导包:import json
②使用:json.load(文件对象) #得到的是 列表或者字段

保存JSON文件

①导包:import json
②使用:json.dump(文件对象)

写入JSON文件

将 python 中的 列表 或者 字典 转换为 json 文件

①导包:import json
②使用:json.dump(python 中的数据,文件对象)

异常处理

捕获异常的语法

格式:

try:  
   #可能发生异常的代码
   pass
except:  #捕获任意类型的异常
   pass

捕获指定类型的异常

发生的异常可能存在多种,针对不同类型的异常,解决处理的方案不一样

格式:

try:  
   #可能发生异常的代码
   pass
except 异常类型1:  #捕获任意类型的异常
    #发生异常类型1,执行的代码
    pass
except 异常类型2:
    #发生异常类型2
    pass

捕获未知类型的异常

格式:

try:  
   #可能发生异常的代码
   pass
except Exception as 变量:  #Exception  常见异常类的父类,变量  异常对象,print()可以打印异常信息
   #发生异常类型1,执行的代码
   pass
except 异常类型2:
   #发生异常类型2
   pass

异常捕获的完整结构

格式:

try:  
   #可能发生异常的代码
   pass
except 异常类型1:  #捕获任意类型的异常
   #发生异常类型1,执行的代码
   pass
except 异常类型2:
   #发生异常类型2
   pass
except Exception as e:
   #发生了其他类型的异常执行的代码
else:
   #没有发生异常,会执行的代码
finally:
   #不管是否发生异常,都会执行的代码

异常传递

异常传递是 python 中已经实现好的功能,不需要我们写代码实现

异常传递是指在函数的嵌套调用过程中,如果发生了异常,没有进行捕获,会将这个异常传递到函数调用的地方,直到捕获到为止,如果一直没有捕获,才会进行报错,终止执行

抛出异常

在执行代码的过程中,之所以会发生异常,终止代码执行,是因为 代码执行 遇到了 raise 关键字

raise 关键字的作用,就是来抛出异常,让代码终止执行

应用场景: 自己书写代码模块,让别人使用,为了让别人按照你规定的使用你的代码,你就可以在不满足你的条件情况下,使用 raise
抛出异常

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值