欢迎来到我的博客!💃💃
🏡🏡博客主页:August_._
一起持续学习,不断总结,共同进步🎊🎊
文件的编码
编码的概念:
编码是一种规则集合,记录了内容和二进制间进行相互转换的逻辑【最常用的是UTF-8编码】
文件的读取
打开函数
语法:open(name,mode,encoding)
- name:是要打开的目标文件名的字符串(可以包含文件所在的具体路径)
- mode:设置打开文件的模式(访问模式):只读、写入、追加等
- encoding:编码格式(推荐使用UTF-8)
f = open('python.txt', 'r', encoding='UTF-8)
encoding的顺序不是第三位,所以不能用位置参数,用关键字参数直接指定
mode常用的三种基础访问模式
相关方法
read()
num表示要从文件中读取的数据的长度(单位是字节),如果没有传入num,那么就表示读取文件中所有的数据
f = open('python.txt', 'r', encoding='UTF-8')
# 读取10个字节
content = f.read(10)
# 读取剩下的全部内容
content = f.read()
readlines()
readlines可以按照行的方式把整个文件中的内容进行一次性读取,并且返回的是一个列表,其中每一行的数据为一个元素
f = open('python.txt', 'r', encoding='UTF-8')
lines = f.readlines()
readline() 一次读取一行内容
f = open('python.txt', 'r', encoding='UTF-8')
lines = f.readline()
for循环读取文件行
for line in open('python.txt', 'r'):
print(line)
# 每一个临时变量line,记录了文件的一行数据
close() 关闭文件对象
注意:
1、通过close,关闭文件对象,也就是关闭对文件的占用
2、如果不调用close,同时程序没有停止运行,则这个文件将一直被python程序占用
f = open('python.txt', 'r')
f.close()
with open 语法
在操作完成后自动关闭close文件,避免遗忘掉close方法
with open("python.txt", "r") as f:
f.readlines()
操作汇总
文件的写入
# 打开文件
f = open('python.txt', 'w', encoding='UTF-8')
# 文件写入
f.write('hello world')
# 内容刷新
f.flush()
注意:
- 直接调用write,内容并未真正写入文件,而是会积攒在程序的内存中,称之为缓冲区
- 若文件不存在,则会创建一个新文件;若文件存在,会清空原有内容
- 当调用flush时,内容才会真正写入文件
- close()方法,带有flush()方法的功能
- 目的是避免频繁地操作硬盘,导致效率下降(攒一堆,一次性写磁盘)
文件的追加
# 打开文件,通过a模式打开即可
f = open('python.txt', 'a')
# 文件写入
f.write('hello world')
# 内容刷新
f.flush()
注意 :
- a模式,文件不存在会创建文件
- a模式,文件存在会在最后,追加写入文件
- 可以使用“\n”来写出换行符