python基础——文件操作
打开
f=open('db','r') #只读 f=open('db','w') #只写,先清空原文件 f=open('db','x') #文件存在则报错,不存在则新建文件写入 f=open('db','a') #追加
f=open('db','r',encoding="utf-8") data=f.read() print(data,type(data)) f.close()

f=open("db","a") f.write("测试") f.write("\n") f.close() f=open("db","r") data=f.read() print(data) f.close()
f=open('db','rb') #b参数代表禁止python处理,直接读取bytes,读取速度快,适于跨平台。
f=open('db','rb') data=f.read() print(data,type(data)) f.close()
f=open("db","ab") f.write(bytes("测试",encoding="utf-8")) f.write(bytes("\n",encoding="utf-8")) f.close() f=open("db","r",encoding="utf-8") data=f.read() print(data) f.close()
f=open('db','r+') #可读可写,常用r+,方便调整光标位置 # r+,w+,x+,a+ 都是可读可写
# w+是清空后写入,a+是在后面追加。
f.seek(1) #光标位置,以字节为单位。 f.write("seek") #就是文件第一个字节之后写入字符串,覆盖原字符串,不插入,保持原文件字节数不变。 data=f.read(1) #读取第一个字符 print(f.tell()) #显示当前字节数,utf-8中文为3 f.seek(f.tell()) #把光标移到读取位置 f.write("seek123") f.close()
操作
f.read() #无参数,读全部;有参数,b方式打开按字节,非b方式打开按字符。 f.readable() #判断是否可读 f.readline() #仅读取一行 f.readlines() #一行作为列表的一个元素 f.tell() #获取当前指针位置 f.seek() #指针跳转到指定位置(字节) f.write() #写数据 f.close() #关闭文件 f.flush() #强刷,刷新文件内部缓冲区 f.truncate() #截断数据,保留seek()指针位置之前的数据 for line in f: #一行一行的读 print(line) count = len(f.readlines()) #文件行数
关闭
f.close() #关闭文件 with open('db') as f: pass #代码块执行完成之后,自动关闭文件
with open('db1','r',encoding="utf-8") as f1, open('db2','w',encoding="utf-8") as f2:
#可以打开多个文件,python2.6不支持该功能 times=0 for line in f1: times += 1 if time <= 10: f2.write(line) #把db1的每一行写入db2 else: break for line in f1: new_str = line.replace("old","new") #把db1中每一行中old改成new f2.write(new_str) #把改过的每一行写入db2

浙公网安备 33010602011771号