今天学习了IO流操作,所以总结一下,顺便回顾下这一天学习的知识点。
照旧,我们废话少说,直接进入我们的主主题——【IO流操作】
1、IO流操作
首先先了解下IO流的概念吧。什么是IO流呢?
IO流(Input Output Stream)
1、IO流主要指计算机的输入和输出操作;
2、常见的IO流操作,一般说的是【内存】与【磁盘】之间的输入输出。
3、IO流操作一种常见的【持久化】操作。
说完了IO的概念,来说说IO流的分类。
一、根据数据流动方向(粘在内存的角度来说)
1、r——输入流
2、w——输出流
二、根据数据的类型
1、b——字节流
2、t——字符流
那如何使用呢?这里我们要用到open函数。
python操作IO流通过open函数
open函数主要的目的是打开一个本地的文件
open函数的使用中,有几个参数我们要了解下
1、【file】——表示一个文件的具体路径,或者要打开的文件名称
2、【mode】——表示一个字符串,通常默认为tr
"r"——read表示输入流
"w"——write表示输出流
“t"——表示字符流 #使用字符操作IO流
"b"——表示字节流 #使用字节操作IO流 (字节流操作大数据的,不建议一次性读取)
"a"——表示追加输出
3、IO流的使用
>>>f = open(path,"r") #path是路径
>>>msg = f.read()
>>>f.close() #最后关闭IO流,一定要关闭!
上面说了IO流操作的使用,但是大家可能还是有些懵,所以再详细说一下,帮助理解下。
>>>f = open(file,"r") #f对象就是python IO对象
方法:
>>>read(size=-1) #读取
>>>readline() #读取一行数据
>>>readlines() #读取多行数据
>>>write(data) #写入到文件
>>>writelines() #将多个数据写入
>>>flush #刷新缓存区
>>>encodind() #编码
>>>colse() #关闭File对象,注意close自动的调用flush进行最后文件的刷新
>>>closed() #判断流是否关闭
这里也举一个小例子,上了截图,看一下。
这里还有一些要强调的,一定要注意!!!
IO流如果不使用的话一定要关闭!不关闭的话会造成资源的占用。
还有就是拷贝数据时,为了避免因为目标过大而导致死机,应使用read参数来控制每次拷贝数据的多少,也可以用循环来做。
2、对象序列化
接触一个东西,我们肯定要先了解它的概念,它是什么东西?那什么是对象序列化呢?
对象序列化:
将内存的一个抽象概念/逻辑概念(对象)转换成字节或者字符数据的过程。
叮叮叮,它的用法来了!这里我说两个——pickle和json。
1、pickle(可以将对象转换成字节数据)
1、dump——将对象序列化称为字节数据,并且保存到file中
2、dumps——将数据序列化成为字节数据
3、load——将一个file对象反序列化
4、loads——将一个字节数据反序列化为对象
2、json(可以将对象转换为字符数据)
1、dump——将对象序列化称为字符数据,并且保存到file中
2、dumps——将数据序列化成为字符数据
3、load——将一个file对象反序列化
4、loads——将一个字符数据反序列化为对象
对的pickle和json的用法是一样的,要注意的json这个模块一般用来序列化字典对象,或者转换json数据,但是其它对象也是可以的。
那我们今天的分享就到这里,明天见?
大家加油!奥里给!