python笔记13-文件读写
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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())
以上是关于python笔记13-文件读写的主要内容,如果未能解决你的问题,请参考以下文章