python笔记13-文件读写

时间:2023-03-10 02:28:06
python笔记13-文件读写

1.打开文件

f=open('a.txt','a+',encoding='utf-8')#f代表的是文件对象,叫句柄

f.seek(0)把文件指针到最前

文件打开模式有3种:

1:w写模式,它是不能读的,使用w时是会清空原来的内容然后再写入

w+写读模式,使用w时是会清空原来的内容然后再写入

2:r读模式,只能读不能写,而且文件必须存在

r+读写模式,原来文件还存在,但是如果该文件不存在会报错

3:a追加模式,只能写,在文件的末尾添加内容

a+能读能写,默认文件指针在最后

4:rb+、wb+,ab+,这种是二进制模式打开或者读取,一些音乐文件、图片等等

f=open('a.txt')#如果在打开的文件的时候,不指定模式,那就是读模式

文件对象也是可迭代的,只读1行内容,这种效率高

for line in f:  #f代表文件对象

print(line)   #打印每行内容

#直接循环文件对象的话,循环的是文件每一行的内容

2.读取文件内容

print(f.read())#读文件全部内容,返回的是一个字符串

print(f.readlines())#读文件全部内容,返回的是一个列表

print(f.readline())#读文件一行内容,一次只能读一行

3.写入内容

f.write('hhh')#写文件,写入字符串

f.writelines(['123','345','567'])#可以把列表写入文件

4.文件修改

# res = f.read()#打开文件
# f.seek(0)#指针
# f.truncate()#清空文件内容
# new_res = res.replace('nihao','nibuhao')#把nibuhao 替换nihao
# f.write(new_res)读取新内容
#以上方法,大文件的读取不适用
重要:每行读取并放入新的文件:
import os
f=open('a.txt','a+',encoding='utf-8')#打开文件
# fw = open('a.txt.new','w',encoding='utf-8')#把替换好的文件放入到fw文件中
# for line in f:
# new_res = line.replace('学','不学')
# fw.write(new_res)
# f.close()#关闭f文件
# fw.close()#关闭fw文件
# os.remove('a.txt')#删除文件
# os.rename('a.txt.new','a.txt')#重命名把a.txt.new 重命名为a.txt 5.flush用法、with用法
#flush用法
import time
fw = open('python.txt','w',encoding='utf-8')
fw.write('下周不上课!')
fw.flush()#写完之后立马生效
exit('拜拜')
time.sleep(30)#程序休息30秒
fw.close() #with的用法,你文件不再用的时候,就会自动给你关闭文件
# with open('python.txt',encoding='utf-8') as fr:
# print(fr.read())