php程序员学习python3学习第四天
1,文件的读取与写入 open() f = open('a.txt','a',encoding = 'utf-8') 此时得到的是一个句柄,a为模式,模式分为a,(追加模式),w (写入模式,只可以写入一个新的文件,写入时不存在则创建,存在则清空),x(只写模式,不存在则创建,存在则报错)r(只读模式) r+(读写模式) w+(写读模式) read(5),其中5表示5个字符
r+ 在读写模式下,先读再写写的时候自动追加到最后
w+ 在写读模式下先写再读,写中进行读,然后继续写的时候会追加到末尾 (此用处较少)
rb 二进制读模式 二进制模式用来传输文件 二进制模式不用声明字符 open("b.txt","rb")
wb 二进制写模式 写时只可以把二进制写进去
ab 二进制追加模式
U 表示在读取时,可以将\r\n自动换成\n 与r和r+模式共用 rU r+U
# -*- coding:utf-8 -*- f = open("a.txt","a",encoding="utf-8") f.write("\n我是程序员") f.close() f = open("a.txt","r",encoding = "utf-8") data = f.read() f.close() print(data) f = open("b.txt","w",encoding = "utf-8") res = f.write(data+"\n") f.close() print(res)
2,读取文件,对指定行数进行操作 readline() readlines()只适合读取较小的文件
# -*- coding: utf-8 -*- f = open("b.txt","r",encoding = "utf-8") ''' #高效的读取方法 count = 0 for line in f: if count == 9: count +=1 print("----------分割线---------") continue print(line.strip()) count += 1 ''' #低效的书写方法 for index,lines in enumerate(f.readlines()): if index == 9: print("--------分割线---------") continue print(lines.strip())
3, tell() f.tell() 读到第几行 seek() 跳到指定行
# -*- coding: utf-8 -*- f = open("b.txt","r",encoding="utf-8") print(f.tell()) print(f.readline()) print(f.tell()) #将指针回到文件头部 f.seek(0) print(f.readline()+"--------------sssss--------") #回到指定位置 f.seek(5) print(f.readline())
-------------------------立码平天下------------------------------

浙公网安备 33010602011771号