文件和异常
在Python中实现文件的读写操作其实非常简单,通过Python内置的open
函数,我们可以指定文件名、操作模式、编码信息等来获得操作文件的对象,接下来就可以对文件进行读写操作了。这里所说的操作模式是指要打开什么样的文件(字符文件还是二进制文件)以及做什么样的操作(读、写还是追加),具体的如下表所示。
操作模式 | 具体含义 |
---|---|
'r' |
读取 (默认) |
'w' |
写入(会先截断之前的内容) |
'x' |
写入,如果文件已经存在会产生异常 |
'a' |
追加,将内容写入到已有文件的末尾 |
'b' |
二进制模式 |
't' |
文本模式(默认) |
'+' |
更新(既可以读又可以写) |
读写文本文件
常用的读写文件命令:
open('文件名', '读写模式', encoding='编码方式常设置为utf-8')
通常情况下,当open 的文件不存在或无法打开时,那么将会引发异常导致程序崩溃,所以我们一般在读取文件时会加上异常处理。常用格式:
try:
except 异常名:
except 异常名:
finally:
我们将可能捕获到的异常状况放入异常名中,随后编写捕获异常后的代码操作。finally代码块表示总是执行的代码块,即会在运行最后执行。
由于open打开文件的方式,当我们不需要使用文件后都需要手动的关闭文件,释放外部资源,然而很多时候我们会忘记释放资源,造成一些难以预料的错误。我更喜欢使用with open as 来打开文件,当文件不被使用时会自动释放。
读写二进制文件
跟读写文本文件都是同样的操作。。。pass
读写json文件
json类似于python中的字典,python中使用json数据需要导入json包。
json模块主要有四个比较重要的函数,分别是:
- dump - 将Python对象按照JSON格式序列化到文件中
- dumps - 将Python对象处理成JSON格式的字符串
- load - 将文件中的JSON数据反序列化成对象
- loads - 将字符串的内容反序列化成Python对象
ps.序列号就是将对象转化为字节序列,反序列化就是将字节序列转为对象,便于对象进行传输。类似于编码和解码操作吧。。。