python操作IO流
    open函数:主要目的是打开一个本地文件(路径+文件名)

open函数的解析:
    第一个参数 file 代表要打开或者创建文件的名称或者路径
    第二个参数 表示打开的模式是mode打开模式,也就是说你要只读,还是只写,还是读写,第三个参数是编码格式。

open的简单实用:
    f=open(path,“r”)
    msg=f.read()
    #最后关闭IO流
    f.close()
IO流的分类
    |–根据数据流动(站在内存的角度上来说)的方向:
        |–输入流
        |–输出流
    |–根据数据的类型:
        |–字节流
        |–字符流

open参数说明:

参数

描述

name

文件名

mode

操作文件模式

buffering

寄存状态,buffering设为0,访问‘不寄存,为1访问文件寄存如果大于1的整数表明寄存区的缓冲大小

文件操作模式

模式

描述

r

只读模式打开文件,文件的指针在文件开头,即从第一行第一列读取文件内容

rb

在二进制格式下以只读模式打开文件,文件指针放在开头,即ongoing第一行第一列读取文件内容

r+

读写模式打开文件,文件指针在开头

rb+

在二进制格式下以读写模式打开文件,文件指针在文件开头

w

以写模式打开文件,文件指针在文件开头,即从文件头开始编辑,原有内容被删除,如果文件不存在,会自动创建文件

wb

在二进制格式下以写模式打开文件,如果文件存在,从头开始编辑,原有内容被删除,文件不存在,自动创建文件

w+

读写模式打开文件,文件存在,从头开始编辑,原有内容被删除,文件不存在,自动创建文件

wb+

在二进制格式下以读写模式打开文件,从头开始编辑,原有内容被删除,文件不存在则自动创建文件

a

打开文件追加内容,如果文件存在,文件指针放在文件结尾,即继续先前的文件继续编辑,文件不存在,自动创建文件

ab

在二进制格式下追加文件内容,文件指针放在文件结尾,即继续先前的文件继续编辑,文件不存在,自动创建文件

a+

以读写模式追加文件内容,文件指针在文件结尾,即继续先前的文件继续编辑,文件不存在,自动创建文件

ab+

在二进制格式下追加文件内容,文件指针在文件结尾,即继续先前的文件继续编辑,文件不存在,自动创建文件

文件对象方法

方法

描述

read([size])

size未指定则返回整个文件,如果文件大小>2倍内存则出现问题,read()读到文件末尾是返回空字符""

readline()

按行读取数据,返回一行数据

readlines([size])

按行读取数据,返回size行的数据列表,size未指定则返回全部行

write(“string”)

写入字符串数据,如果数据格式不是字符串,需要转为字符串格式

tell()

返回一个整数,表示当前文件指针的位置,即到文件起始位置的比特数

seek(offset,[start])

移动文件指针,offset为偏移量,单位为bit,可正可负,start为起始位置,0表示文件开始,1当前位置,2文件末尾

例:

python处理字节流库 python io流_打开文件


对象序列化

概念:将内存中的一个抽象概念、逻辑概念(对象)转换成字节或者字符数据的过程,就叫做对象序列化。

| – pickle
    | – dump        #将对象序列化成为字节数据,并且保存在file中
    | – dumps        #将对象序列化成为字节数据
    | – load        #将一个file对象反序列化为对象
    | – loads        #将一个字节数据反序列化为对象
| – json
可以将对象转换为字符数据
    | – dump
    | – dumps
    | – load
    | – loads
注意:json这个模块一般用来序列化字典对象,或者转化json数据,但是其他对象也是可以的。

with语句块

python 每当打开一个IO流,最后一定要关闭资源

	with open("a.txt", "r") as f:
		# 操作IO流,不用关闭
	with语句块打开的IO流
	with结束时自动调用close方法关闭资源