python入门之IO操作

python的IO操作不像java等其他语言的IO操作那样很复杂,python的IO操作十分简单,只会用到一个全局函数:

	open()

一.首先了解什么是IO操作:
IO —(input and output) 输入输出流,将内存中的瞬时数据持久化到ROM上,即到磁盘上。
一般一个完整的IO操作,伴随着 打开文件–>读取数据(读入内存)–> cpu进行运算–>数据持久化(输出)–>关闭资源

读取数据就是将数据从一个持久化设备中读取到内存中
输出数据就是将数据从内存中保存到磁盘上

二.调用open函数就会打开一个文件:
1.打开什么文件:

		需要第一个参数:路径(可以是文件名)	

2.第二个参数:

	打开文件的模式,默认不写,为r:表示读取文件

(python默认读取的数据是文本文档,则读出来的是字符串)
如果mode=x,则表示改文件必须在不存在的情况下,第一次打开,那么就会创建文件,如果文件已存在,则会抛出异常

3.第三个参数:

	默认为-1,可以指定读取的位置

在python中,可以通过命名参数直接指定需要的参数
三.分类
1.根据操作数据的类型,可以将流分为:

	1>字符流(字符流,文本文档)
	2>字节流(视频,图片)

2.根据流的方向可以将流分为

输入流  open  mode="r"
输出流   open mode="w"

mode t表示open默认处理的文本文档
当我们想要处理字节数据时,就需要将t修改为b binary 二进制

四.字节流(字节没有编码)
图片:
在这里插入图片描述
视频:
在这里插入图片描述
要是读的视频太大,可以给read一个参数(1024)表示一次读取1024个字节
,防止读取过多,导致内存不够用,电脑蓝屏
在这里插入图片描述

因为会有文件名称重复,导致文件拷贝的时候,覆盖问题,则使用uuid,会生成一个永不重复的32位 16进制的字符串,将这个字符串拼接到文件名称上去

		Import uuid
		Uuid.uuid4().hex

在这里插入图片描述

五.with语句块
在IO操作的时候,发现IO一旦打开,必须关闭
但是关闭很容易被忘记,所以python提供了with语句块
在python中如果使用with打开IO流,则在with语句块结束时,自动调用IO流的close方法,避免忘记

在这里插入图片描述
六.对象序列化和反序列化:参数

模块:Import pickle

方法:dump:和io相关,直接存

Dumps:pickle.dumps(obj)
传一个参数,返回一个该对象所对应的字节对象(只管序列化,不管保存)
Load:和io相关,直接存
loads:pickle.loads(obj)
传一个参数,将序列化的字节数据反序列化为一个对象
Pickle.dumps(obj):将对象obj序列化为字节数据

例题:
在这里插入图片描述
Import json:一般用来序列化字典数据,最后序列化为json字符串

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值