python学习,day3: 文件的读写

# coding=utf-8
# Author: RyAn Bi
import sys

f1 = open('yesterday2',mode='w',encoding='utf-8') #w 只能写,不能读,是覆盖之前的内容写
f1.write('我爱北京天安门\n')
f1.write('天安门上太阳升\n')
f1.close()
f1 = open('yesterday2',mode='a',encoding='utf-8') #a 追加
f1.write('我爱北京天安门\n')
f1.write('天安门上太阳升\n')
f = open('yesterday',mode='r',encoding='utf-8')   #r 只能读,不能写
#data = f.read()

#print(f.readline()) #读1行

#for i in range(5):
 #   print(f.readline()) #读5行
 #Z不好的方法
'''
for index,line in enumerate(f.readline()):  #显示下标号
    print(line.strip())
    if index == 9:
        print('--------------我是分割线----------')
        #continue
    print(line.strip())
'''

#好的方法
'''
count = 0
for line in f:
    print(line)
    if count == 9:
        print('------我是分割线------')
        count+=1
        continue
    count +=1
'''
print(f.tell())   #读取光标的位置,按字符算
print(f.readline())#读了3行
print(f.readline())
print(f.readline())
print(f.tell())   #读取光标的位置,按字符算
f.seek(0)   #光标归零
print(f.encoding)   #编码方式
print(f.flush())  #刷新,不用等到缓存满了才写到硬盘里。
f3 = open('yesterday',mode='a',encoding='utf-8')  #r+ 读写,w+ 写读(没啥用),a+追加读写,rb二进制文件(网络传输和读取),wb二进制写
f3.truncate(10)  #截断10,不指定就是从0开始,如果什么都不写,就是清空,必须是'a',可以用seek指定起始位置

 注,这是在硬盘中读写,不能插入,只能全部擦除和覆盖,只有在内存中才能插入。

posted @ 2019-01-25 10:20  bbgoal  阅读(176)  评论(0编辑  收藏  举报