文件编码
编码就是一种规则集合,记录了内容和二进制间进行互相转换的逻辑
文件的读取
打开
name:是要打开的目标文件名的字符串(可以包含所在的具体路径)
mode:设置打开文件的模式(访问模式):只读,写入,追加等
r(只读)默认模式
w(写入)从头开始编辑,原内容删除,不存在就创键新文件
a(追加)新内容将会被写入到已有内容之后,文件不存在就创建新文件
encoding:编码格式(一般情况utf-8)
open方法
open(name,mode,encoding)
例子:
f = open('F:/桌面/文件编码.txt','r',encoding="utf-8")
print(type(f)) # <class '_io.TextIOWrapper'>
读取
read方法
num表示要从文件中读取的数据长度(单位是字节),如果没有传入num,那么就表示读取文件中所有的数据
文件对象.read(num)
f = open('F:/桌面/文件编码.txt','r',encoding="utf-8")
print(f.read(10)) # 前端开发,后端开发,
readline方法
读取一行,一次只能读取一行内容
f = open('F:/桌面/文件编码.txt','r',encoding="utf-8")
context = f.readline()
print(context) # 前端开发,后端开发,大数据,网络安全
readlines方法
对整个文件中的内容进行一次性读取,并且放回的是一个列表,其中每一行的数据为一个元素
f = open('F:/桌面/文件编码.txt','r',encoding="utf-8")
context = f.readlines()
print(context) # 前端开发,后端开发,大数据,网络安全
关闭
close方法
关闭文件对象
f = open('F:/桌面/文件编码.txt','r',encoding="utf-8")
f.close()
with open方法
通过with open语法打开文件,可以自动关闭
with open('F:/桌面/文件编码.txt','r',encoding="utf-8") as f:
for item in f:
print(item) # 前端开发,后端开发,大数据,网络安全
写出
write方法和flush方法
直接调用write,内容并未真正写入文件,而是会积攒在程序的内存中,称为缓冲区
当调用flush的时候,内容会真正写入文件
# 打开文件
f = open('F:/桌面/word.txt','w')
# 文件写入
f.write('hello word')
# 文件刷新
f.flush()
追加写入
# 打开文件
f = open('F:/桌面/word.txt','a')
# 追加文件写入
f.write('\n写入新建文件')
# 文件刷新
f.close()