Python第十六天笔记(IO流、对象序列化)

Python第十六天笔记
IO流(input output stream)
一、什么是IO流:输入输出流
【主要说的就是将数据读入内存或者内存输出的过程中使用的技术
常见的IO流操作,一般说的是【内存】与【磁盘】之间的输入输出。】
内存(memory):储存数据
冯诺依曼,计算机五大组成部件:输入设备,输出设备,存储设备,控制器,运算器
IO流:内存数据的流入和流出
数据持久化:将内存的数据永久保存
方法1:IO流
方法2:数据库(还是一种IO流操作)
网路就是一种IO流
为什么使用IO流
进行数据的持久化或传输
二、IO流的作用:
持久化数据,保证数据不在丢失!
三、IO的分类
在这里插入图片描述

Python如何操作IO流:
全局函数open打开一个IO流操作
open函数主要的目的是打开一个本地的文件
open函数的使用中,需要了解以下几个参数:
在这里插入图片描述
mode中:
“r”——read表示输入流

"w"——write表示输出流

“t"——表示字符流     #使用字符操作IO流

"b"——表示字节流    #使用字节操作IO流   (字节流操作大数据的,不建议一次性读取)
"a"——表示追加输出

IO流的使用
>>>f = open(path,"r")		#path是路径
>>>msg = f.read( )
>>>f.close( )			#最后关闭IO流,一定要关闭!


Open——是一个全局函数	
Open(file[,mode = “r”])

四、IO读写文件的步骤:
(1)io读取文件
在这里插入图片描述
(2)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参数来控制每次拷贝数据的多少,也可以用循环来做。

在这里插入图片描述

IO流的分类
根据流的类型
字符流:
字符串(文本类型)
字节流:
01二进制
需要大数据流的操作!!
根据流的方向
输入流
输出流

对象序列化
1.什么是对象序列化?
将内存的一个抽象概念/逻辑概念(对象)转换成字节或者字符数据的过程。
2.这里介绍两个用法——pickle、json1、pickle模块(二进制和对象之间的序列化)
1、dump——将对象序列化称为字节(二进制)数据,并且保存到file中

2、dumps——将数据序列化成为字节数据

3、load——将一个file对象反序列化

4、loads——将一个字节数据反序列化为对象

with语句块
python 每当打开一个IO,最后一定要关闭资源

with open("a.txt", "r") as f:
	# 操作IO流,不用关闭
with语句块打开的IO
with结束时自动调用close方法关闭资源
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值