文件常用操作
# f.write() #字符串写入文件 # # f.writelines #将一串字符串写入文件。 该序列可以是生成字符串的任何可迭代对象,通常是字符串列表 # # f.read([size]) #默认读出文件中所有内容,可以指定size(字节) # # f.readline([size]) #默认每次读取一行,字符串中保留一个尾随的换行字符。 # # f.readlines([size]) #默认将文件内容讲到列表中保存 # # f.flush() #将缓冲中的内容写入磁盘 # # f.tell() #显示当前文件的指针所在位置 # # f.close() #关闭打开的文件 # # f.seek() #对文件进行指针偏移操作,有三个模式, # # 一般不是二进制,初始位置只能填0 seek(0,0) 默认移动到文件开头或简写成seek(0) # # rb和rb+的时候才能用负数 seek(x,1) 表示从当前指针位置向后移x(正数)个字节,如果x是负数,则是当前位置向前移动x个字节 # # 一个中文有三个字节,得三个三个的移动,要不会报错 seek(x,2) 表示从文件末尾向前后移x(正数)个字节,如果x负数,则是从末尾向前移动x个字节 f = open("file2.txt",'w+',encoding='utf-8') f.write("I love python\n") f.write("python 是世界上最美丽的语言!\n") f.write("python 世界上最美丽的语言?") print(len(f.read())) #文件总长度 89 print(f.tell()) #读完文件,文件指针位置89 f.seek(0,0) #偏移回文件头 print(f.readline()) #打印出文件中一行(第一行) print (f.tell()) #显示文件指针现在的位置 print(f.readline()) #再打印一行(应该少2个字节) print(f.tell()) #显示 现在 的指针位置 print(f.readline()) #打印下一行 print(f.tell()) #显示 现在 的指针位置 f.seek(57,0) #从尾部向前偏移9个字符 print(f.tell()) #显示 现在 的指针位置 print(f.readline()) #打印出内容 f.close() # 用r+打开写一定要注意光标位置,如果本来有文字则会覆盖,因为光标是从头开始的