### 1 ##****************************** ##*python文件最基本的操作 ##******************************* f = open("yesterday",'r+',encoding = "utf-8") #打开文件,f叫做文件句柄,包含文件大小等各种信息,可以看做一个对象 #f = open("yesterday",'a+',encoding = "utf-8") #追加读写模式 #f = open("yesterday",'rb',encoding = "utf-8") #文件句柄 二进制格式读写文件 #W+写读模式没什么作用,读写模式有一些作用 #data = f.read() #data2 = f.read() #文件读取光标移到文件最后,已经读取不到内容了 #print('________data_____________',data2) f.write("昨夜再也不会回来\n") #还必须选取文件打开模式,读或者写 f.write("清晨的阳光还会回来\n") data = f.read() print('________data_____________',data) #w打开是创建一个文件,如果有则会删除原有数据重新写 f.close() ### 2 ###########***************** ##**判断文件第10行,如果是则输出下划线下面一种是比较low的方法,它需要把文件全部读取到内存里以后再进行判断, ##**如果文件较大这种方法并不可靠 ###########***************** for index,line in enumerate(f.readlines()): if index == 9: print("------------分割线--------------") continue print(line.strip()) #去掉一行中的换行符 #f.truncate(500) #文件500个字符以后都被清空 ### 3 ###########***************** ##**判断文件第10行,如果是则输出下划线下面一种是比较higher的方法,它使用到一个计数器, ##**使用时只需要每次将一行读取到内存,并且判断计数器即可 ###########***************** count = 0 for line in f: #f被看做了一个迭代器 count += 1 if count == 10: print("-------------------分割线-------------------") continue print(line) ''' f = open("yesterday",'r+',encoding = "utf-8") print(f.tell()) print(f.read(5)) print(f.tell()) #告诉当前光标的位置 f.seek(0) f.seekable() #判断文件是否可以移动 print(f.readline()) print(f.encoding) #打印文件编码 print(f.fileno()) #得到操作系统调度文件时使用到的I/O接口 print(f.flush()) #将要写入的文件刷新写到硬盘上去 ''' ### 4 ########***************************************** ##*打印一个进度条 ##*主要是展示flush的功能 ########********************* import sys,time for i in range(50): sys.stdout.write("#") sys.stdout.flush() #从缓冲刷新到屏幕 time.sleep(0.5) #延迟0.5S ### 5 ########***************************************** ##*二进制文件读取 ##*注意区分二进制文件与文本文件操作的区别 ########***************************************** f = open("yesterday",'wb') #二进制没有字符编码格式,一些文件必须以二进制格式打开 #print(f.readline()) #print(f.readline()) f.write("you are the best beautiful girl\n".encode()) ### 6 ####**************************************** #*对文件的内容进行修改 #*先把文件加载到内存里再进行修改 #*打开一个文件,再写到一个新文件里,读入内存和存入磁盘时同时操作的 ####***************************************** f = open("yesterday",'r',encoding = "utf-8") f_new = open("yesterday1.txt",'w',encoding = "utf-8") for line in f: if "girl" in line: line = line.replace("girl","my love") #找到内容,则将内容给替换掉 f_new.write(line) f.close() f_new.close()