1.截断函数truncate()
f=open("poem1","a",encoding="utf-8") #f.truncate() #不变 #f.seek(10) f.truncate(10) #从第10个字符截断
f=open("poem1","a",encoding="utf-8") #f.truncate() #不变 f.seek(10) f.truncate(20) #总共截断20个字符
总结:即使有光标移动,但都是从头截断。
2.进度条
#进度条 import sys,time for i in range(20): sys.stdout.write("#") sys.stdout.flush() #flush()刷新 time.sleep(0.5)
3.文件读写与写读 读写常用,写读用的少
#读写模式打开 'r+',读+追加 f=open("poem1",'r+',encoding='utf-8') for i in range(3): print(f.readline().strip()) f.write("nihaoma ") #写在最后
#写读模式打开 'w+' f=open("poem2",'w+',encoding='utf-8') #写模式直接创建新文件 f.write("You are a good girl") #写 print(f.tell()) #打印指针位置 f.seek(10) #光标移动到第10个字符处 print(f.tell()) #打印此时的指针位置 print(f.readline()) #从上面的指针位置开始打印 f.write(",i like you") #追加在后面 f.close
4.文件追加读'a+'
#追加读模式打开 'a+' 可读写 f=open("poem2",'a+',encoding='utf-8') #打开后,文件指标在结尾 f.seek(0) #光标移到初始位置 print(f.read(5)) #读5个字符 print(f.write("\ni like your big and bright eyes")) #写为追加写,只能写在最后 f.seek(10) print(f.read(10)) f.close
5.二进制读模式打开文件,'rb'用在网络传输中
#二进制格式读模式打开 f=open("poem2",'rb') print(f.readline())
6.二进制写模式打开文件
#二进制写模式打开 ,文件内容以二进制编码,并非内容本身就是二进制模式 f=open("poem2",'wb') f.write("you are sex\n".encode()) #字符串转换为字节类型,直接编码 f.close()