1、一次性读取所有 “r”
f = open("yesterday", "r", encoding="utf-8")
data = f.read()
print(data)
备注:读取文件,光标会移动到读取的对应位置
2、一行一行的读取 readline()
读取该文件的前五行
# 方法1
f = open("yesterday", "r", encoding="utf-8") # 获取文件句柄
print(f.readline())
print(f.readline())
print(f.readline())
print(f.readline())
print(f.readline()) # 此时光标移动到第五行末的位置
# 方法2
f = open("yesterday", "r", encoding="utf-8") # 获取文件句柄
for i in range(5):
print(f.readline())
3、获取文件所有行的内容 readlines()
"""循环文件,第10行的时候不打印"""
#low loop
f = open("yesterday", "r", encoding="utf-8") # 获取文件句柄
print(f.readlines()) # 这里得到的是一个列表
for index, line in enumerate(f.readlines()):
if index == 9:
print("-----我是分割线-----")
else:
print(line.strip())
# high loop
count = 0
f = open("yesterday", "r", encoding="utf-8") # 获取文件句柄
for line in f:
if count == 9:
print("-----我是分割线-----")
count += 1
continue
print(line)
count += 1
4、读写 “r+” 这是以读和追加的方式去操作文件
f = open("yesterday", "r+", encoding="utf-8")
print(f.readline())
print(f.readline())
print(f.readline())
f.write('----------diao-----------')
print(f.readline())
# 输出结果:打印yesterday文件的前四行,新写入的内容追加到文件的最后面
1、写入操作,有同名文件就覆盖,没有则新建一个文件 “w”
f = open("yesterday2", "w", encoding="utf-8") # 获取文件句柄
f.write("我爱北京,\n")
f.write("天安门上太阳升,\n")
2、写读操作 “w+”
会先按照文件名创建(覆盖)文件,然后进行操作
f = open("yesterday", "w+", encoding="utf-8")
f.write('----------diao-----------1')
f.write('----------diao-----------2')
f.write('----------diao-----------3')
f.tell()
f.seek(10)
f.tell()
print(f.readline())
f.write('我爱北京天安门!')
1、单独追加写操作 “a”
f = open("yesterday2", "a", encoding="utf-8") #获取文件句柄
f.write('我爱北京天安门。。。\n')
f.write('天安门前红旗升\n') # 会将内容追加写入到文件最后
f.close()
2、追加读写操作 “a+”
1、追加读操作
f = open("datetime模副本.py", "a+", encoding="utf-8") #获取文件句柄 光标此时在文件末尾 文本的原始长度为1142
print(f.tell()) #>>>1142
print(f.seek(0)) #将光标返回到文件其实位置
print(f.readline()) #打印文件的第一行内容
2、追加写操作 类似 “a”
f = open("datetime模副本.py", "a+", encoding="utf-8") #获取文件句柄 光标此时在文件末尾
f.write('我是追加的内容,在增加在文件末尾!!!!') #新增的内容长度为60
print(f.tell()) # >>>1202
1、二进制读文件 “rb”
# 可以读取大部分任意格式文件 以二进制方式进行读取
f = open("cat.jpg", "rb") # 这里括号中的编码格式encoding="utf-8需要去掉
print(f.read())
2、二进制写文件 “wb”
f = open("xixi", "wb") # 这里括号中的编码格式encoding="utf-8需要去掉
f.write('hello binary\n'.encode())
f.close()
f = open('yesterday2','r',encoding='utf-8')
f_new = open('yesterday2.bak','w',encoding='utf-8')
for line in f:
if '肆意的快乐等着我去享受' in line:
line = line.replace('肆意的快乐等着我去享受','肆意的快乐等着陈柏霖去享受')
f_new.write(line)
f.close()
f_new.close()