文件处理b模式
f=open('实验文件.txt','rb') data=f.read() print(data) #未指定解码 print(data.decode('gbk')) f.close()
# encoding:utf-8
fo = open("temp.txt", "wb")
str = '中文'
str = str.encode('utf-8')
fo.write(str)
fo.close()
读取第一行
f = open("temp.txt") line = f.readline() print(type(line)) print(line) f.close()
文件操作其他方法
f.close <==判断文件是否关闭
f.encoding <==文件编码方式
f.flush() <==刷新,保存
f.name <==文件名
f.tell() 《==光标当前位置
f.seek(参数) 《==控制光标移动位置
f.seek(参数1,参数2) 《==参数2表示从哪开始,一般默认从0开始
f.truncate() <==文件截取
循环文件(用一条取一条)
f = open("temp.txt",'r+') for i in f: print(i) f.close()
读取大文件最后一行
# coding=gbk f = open("temp.txt",'rb') for i in f: offs=-9 #大致估计少于一行字符数 while True: f.seek(offs,2) data=f.readlines() if len(data)>1: print('文件最后一行%s'%(data[-1].encode('utf-8'))) break offs=offs*2 f.close()