原阳县建站塔山双喜,企业vi设计报价,wordpress响应式,网站建设合作流程图IO流input output stream的缩写
侠义#xff1a;常见的IO操作是指内存与磁盘之间的输入和输出的操作
io流的操作是一种持久化操作。将数据持久化到磁盘上
open全局函数#xff1a;
第一个参数file#xff1a;代表的是打开或者操作的文件的文件名或者路径
第二个参数mod…IO流input output stream的缩写
侠义常见的IO操作是指内存与磁盘之间的输入和输出的操作
io流的操作是一种持久化操作。将数据持久化到磁盘上
open全局函数
第一个参数file代表的是打开或者操作的文件的文件名或者路径
第二个参数mode指的是打开的模式默认是”r表示字符输入流 from os import path path.abspath(.) D:\\pythonfile open(a.txt) _io.TextIOWrapper namea.txt moder encodingcp936 f.close() f open(b.txt,r) f.read() 哈哈哈哈哈哈哈哈哈哈 f.read() f.close() 流的分类
流动方向站在内存角度 输入流 输出流
数据保存在磁盘上是输出流
根据数据类型
字节流 字符流
字符流 f open(b.txt,w) f.write(heiheiheii) 10 f.close() f open(a.txt,w) f.write(xixixixixixiix) 14 f.flush() f.write(xixixixixixiixkjvjjvk) 21 f.flush()#刷新将写的放进 流关闭会覆盖
如何解决这个问题 f open(b.txt,modea) f.write(喜喜喜喜喜喜) 6 f.close() 本质上mode”rtwt-----t指的是text字符流 f open(b.txt,modert) f.read() 哈哈哈哈哈嘿嘿嘿哈哈哈哈哈嘿嘿嘿kclk f.close() f open(b.txt,modeat) f.write(哈哈哈哈哈嘿嘿嘿kclkhhhjjj) 18 f.close() 字节流
b----binary
视频图片。音频可执行文件的是二进制数据
mode“b” f open(b.jpg,moder) f.read()#报错 f open(b.jpg,moderb) f.read() 图片备份 f open(a.jpg,moderb) ff open(b.jpg,modewb) ff.write(f.read()) 9865 f.close() ff.close() 注意字节流操作大数据不建议一次读取
字节可以操作任何数据 字符只能操作字符 ff open(b.txt,moderb) ff.read() b\xb9\xfe\xb9\xfe\xb9\xfe\xb9\xfe\xb9\xfe\xba\xd9\xba\xd9\xba\xd9\xb9\xfe\xb9\xfe\xb9\xfe\xb9\xfe\xb9\xfe\xba\xd9\xba\xd9\xba\xd9kclk\xb9\xfe\xb9\xfe\xb9\xfe\xb9\xfe\xb9\xfe\xba\xd9\xba\xd9\xba\xd9kclkhhhjjj ff open(a.jpg,modert) ff.read() Traceback (most recent call last): File stdin, line 1, in module UnicodeDecodeError: gbk codec cant decode byte 0xff in position 0: illegal multibyte sequenc 对象序列化
对象容器列表元组集合字典
如果想要将对象支持化保存在磁盘上就需要对象序列化
对象序列化将内存像对象这种抽象化的概率转换为真正的字符或者字节数存储在磁盘上
pickle模块
对象序列化为字节数据 import pickle ls [1.2,3,4,5,6] pickle.dumps(ls) b\x80\x04\x95\x16\x00\x00\x00\x00\x00\x00\x00]\x94(G?\xf3333333K\x03K\x04K\x05K\x06e. data pickle.dumps(ls) data b\x80\x04\x95\x16\x00\x00\x00\x00\x00\x00\x00]\x94(G?\xf3333333K\x03K\x04K\x05K\x06e. f open(D:\\pythonfile\\c.dat,wb) f.write(data) 33 f.close() loads-------将字节数据反序化为对象 show f.read() show b\x80\x04\x95\x16\x00\x00\x00\x00\x00\x00\x00]\x94(G?\xf3333333K\x03K\x04K\x05K\x06e. pickle.loads(show) [1.2, 3, 4, 5, 6] ll pickle.loads(show) ll [1.2, 3, 4, 5, 6] type(ll) class list dump------将对象序列化为字节数据并且保存在文件中 pickle.dump(ls,open(D:\\pythonfile\\b.txt,wb)) load-----将file反序列为对象 pickle.load(open(D:\\pythonfile\\b.txt,rb)) [1.2, 3, 4, 5, 6] json模块
将对象序列化为字符数据 d {username:lili,age:18} import json json.dumps(d) {username: lili, age: 18} ss json.dumps(d) type(ss) class str f open(D:\\pythonfile\\b.txt,w) f.write(ss) 31 f.close() 注意json这个模块一般用来序列化字典对象并不是只能序列化字典对象py2中只能操作字典对象 ls [1.2, 3, 4, 5, 6] json.dumps(ls) [1.2, 3, 4, 5, 6]