python--I/O流

I/O流

I/O流即input/output
由于内存中的东西无法长期的保存,所以需要将内存中的东西存放到硬盘中,所以产生了I/O流
主要使用open()来进行
open(file, mode=‘r’, buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
file: 文件路径(相对或者绝对路径)。
mode: 可选,文件打开模式
encoding: 一般使用utf8
newline: 区分换行符
python--I/O流_第1张图片

open函数()

图片来自菜鸟教程

分类

按照操作数据的类型:

字符流

读取到的是字符串或者文本文档

c=open("D:\\temp\\python\\1.txt","r",encoding="utf-8")#打开文件
print(c.read())#读取文件
c.close()#关闭文件

python--I/O流_第2张图片
在这里插入图片描述

字节流

读取到的是字节

c=open("D:\\temp\\python\\a.png","rb")#打开文件
print(c.read())#读取文件
c.close()#关闭文件

python--I/O流_第3张图片
python--I/O流_第4张图片
第一个b就表示字节

按照流的方向

输入流

c=open("D:\\temp\\python\\1.txt","r",encoding="utf-8")#打开文件
print(c.read())#读取文件
c.close()#关闭文件

python--I/O流_第5张图片
在这里插入图片描述

输出流

c=open("D:\\temp\\python\\a.txt","w")#创建文件
c.write("你好啊")#编辑文件
c.close()#关闭文件

python--I/O流_第6张图片

with语句

由于使用open()结束后必须要关闭容易忘记,所以python提供了with来自动关闭

with open("D:\\temp\\python\\a.txt", "r") as f:
	print(f.read())

print("结束了")

在这里插入图片描述

序列化,反序列化

所谓序列化就是将字符转化为字节
反序列化就是将字节转化为字符

import pickle
ls=[1,2,3,4]
a=pickle.dumps(ls)#将ls序列化为a
print(a)
ts=pickle.loads(a)#将a反序列化为ts
print(ts)

python--I/O流_第7张图片

你可能感兴趣的:(python)