第一步:打开
第二步:操作
第三步:关闭
with open('log','r') as f:
.....
当with代码块执行完毕,内部会自动关闭并释放资源。
可对多个文件的上下文进行
with open('log1','r') as f1 , open('log2','r') as f2:
pass
open()
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
————文件的读写:
‘r’ 以只读方式打开文件(默认)
'w' 以写入的方式打开文件,会覆盖已存在文件
'x' 如果文件已存在,使用此模式打开将引发异常
'a' 以写入模式打开,如果文件存在,则在末尾追加写入
'b' 以二进制模式打开文件
't' 以文本模式打开(默认)
‘r+’ 读写操作(用的比较多)
‘w+’ 写读操作
'U' 通用换行符支持
————文件常用操作方法
f = open('F:/test01/test.txt') ##f 就是文件句柄
f.close()
关闭文件
f.read(size = -1)
从文件读取size个字符,当未给定size或给定负值的时候,读取剩余的所有字符,然后作为字符串返回
f.readline()
以写入模式打开,如果文件存在,则在末尾追加写入
f.write(str)
将字符串str写入文件
f.writelines(seq)
向文件写入字符串序列seq,seq应该是一个返回字符串的可迭代对象
f.seek(offset,from)
在文件中移动文件指针,从from( 0代表文件起始位置,1代表当前位置,2代表文件末尾)偏移offset个字节
f.tell()
返回当前在文件中的位置
————读取大文件的方式
用的是迭代器的方式,内存中读一行删除一行
f = open('F:/test01.txt','r') ##f 就是文件句柄
for line in f:
print(line)
如何处理二进制
用标准库struct
unpack()方法
参数1 :要解析成的数据类型
参数2 : 二进制字符串
标准库 array