1、python的IO操作指的是什么?
主要是:
输入----就是将一个持久化设备中的内容读取到内存
输出----就是将内存中的数据保存在一个持久化设备上
注意:
持久化设备指的是:ROM----断电后数据不会消失
内存:RAM—断电后数据消失
2、IO操作的整个过程
打开文件–>读取数据–>数据运算–>输出数据–>关闭资源
3、IO的分类
根据数据类型我们将IO操作分为两大类
字符流
操作的对象是字符串、文本文档
字节流
操作的对象是字节数据,比如图片、视频等
根据数据的流向分流
输入流
输出流
4、IO模块提供的方法
open()
帮助文档
python---IO操作
python---IO操作
参数解释:
file#以字符串来指定需要打开的文件路径和名称
mode#以字符串指定打开文件的存取方式

  • r----读取模式(默认值)
  • w----写入模式,创建新文件或覆盖旧文件
  • a----追加写入,创建新文件或追加于旧文件的末尾
  • x----写入模式,若文件不存在,则新创建文件,文件存在则有错误
  • t----文本模式,(默认值)
  • b----二进制模式
  • r±—更新模式,可读可写,文件需从在,从文件开头进行读写
  • w±—更新模式,可读可写,创建新文件或追加旧文件,从文件开头进行读写
  • a±—更新模式,可读可写,创建新文件或从旧文件的尾部进行读写

buffering#设置缓冲区大小,默认值为-1。若为0,表示关闭缓冲区,要以二进制进行处理。若为1,表示以文字进行处理。若大于1,表示为缓冲区的固定大小,通常缓冲区的容量为4096或8192字节
encoding#打开文件时一般所采用的文字编码,默认值为none
errors#错误处理原则,不能以二进制来处理,默认值为none
newline#换行操作
closefd#文件描述字符,表示关闭文件时是否也关闭文件描述,默认值为Ture
opener#负责打开文件描述,默认值为none

5、字符操作
输入:从磁盘读取到内存中
python---IO操作
python---IO操作
python---IO操作
输出:从内从中的数据保存在磁盘中
python---IO操作
python---IO操作
python---IO操作
python---IO操作
6、字节操作
字节的输入和输出
python---IO操作
python---IO操作
7、with语句块
作用:为了防止打开的IO操作未关闭,在python中可以使用with语句打开IO,当with语句结束时,自动调用IO的close方法
例如:打开的IO操作未被关闭,此时就会出现如下报错。
python---IO操作
python---IO操作
利用with语句块
python---IO操作
测试
python---IO操作
8、对象的序列化和反序列化
序列化:(dumps)对象序列化成字节数据存储在磁盘
python---IO操作
dump:序列化并保存在文件中

反序列化:(loads)将序列化的字节数据反序列化成对象
python---IO操作
load:将序列化字符串从文件读取并反序列化

python---IO操作
9、json模块也可以进行序列化,一般用来序列化字典数据
1.主要参数:
1)obj:将obj对象格式化并存储到文件对象中,文件必须为可写的文件句柄,json只产生str对象,
不支持bytes对象。
2)skipkey:如果为True,对象的基本类型必须是str,int,float,bool,Non
3)ensure_ascii = True:如果为true则所以传入的非ASCII字符都被转义,如果为False则字符将被原样输出。
4)check_circular=True:如果为true容器类型的循环引用检查将被跳过
5)indent=None:表述数组元素和对象将被按指定的值缩进,可以是整数或字符串’\t’
6)sort_keys=False:如果为True字典的输出将按键排序
2.json与pickle模块的区别:
1)json只能处理基本数据类型。
pickle能处理所有的Python的数据类型。
2)json用于各种语言之间的字符转换。
pickle用于python程序对象的持久化或者python程序对象的持久化或者python程序对象网络传输。

相关文章: