1. 文件的编码
编码技术:utf-8,gbk,big5等 即不同密码本将相同的内容转换成不同的二进制码
注:utf-8目前是全球通用编码格式
除非有特殊要求否则一般使用utf-8
为什么要使用编码技术?
注:计算机只认识0和1,所以要将内容转换成0和1才能保存在计算机中,
同时也需要编码,将计算机保存的0和1转换成原本的内容
2. 文件的读取
概念:
什么是文件:
文件是指一个可以独立操作的程序,
可以是文本、图片、声音、视频等,不同的文件可以用不同程序打开。
基本操作步骤
1. 打开文件
形式:open(name,mode,encoding)
注:name:是要打开目标文件的文件名(包含扩展名)
如果指定路径就打开对应的路径的文件,
如果没有指定就打开与python文件下的文件。
mode:是打开文件的模式(如:只读、写入、追加等)
encoding: 编码格式(推荐使用utf-8)
扩展:'r' 是以只读的方式打开
'w' 是以写入的方式打开
注:以写入打开后文件原本的内容会被删除
注:如果文件不存在会自动生成一份文件
'a' 是以追加的方式打开
注:新的内容会追加原本内容的后面
注:如果文件不存在会自动生成一份文件
2. 读写文件
方法
read方法 可从文件中读取指定长度的字节
形式:变量.read(num)
***注:如果没有传入num就读取文件的所以内容
光标不会回溯,就是说第一次调用read方法读取3个字符,
第二次调用read方法就为从第四个字符开始!!!***
readlines方法 可以按照行的方式把整个文件的内容一次性读取出,并返回成一个列表,
其中每一行的数据为一个元素
形式: 变量.readlines()
注:光标不会回溯
readline方法 一次读取一行内容
形式: 变量.readline()
注:相较于readlines方法 readline返回值的类型的str,光标不会回溯
write方法
flush方法
形式: 文件名.write(内容)
文件名.flush()
注:直接调用write方法,内容并未真正的写入文件,而是积攒到程序的内存中,称之缓冲区
当调用flush方法或者关闭文件时,内容会写入文件
这样的操作可以避免频繁的操作硬盘,导致效率下降。
注:每次写入都是写在同一行的,如果想要换行,可以通过转义字符\n。
遍历
形式:for line in f:
print(line)
3. 关闭文件
方法
close方法 关闭文件对象
形式:变量.close()
注:如果我们不关闭文件,那么被打开的文件将一直被我们这个python所占用
注:另外一种停止占用的方法是关闭程序,文件在占用时
我们无法对占用有进行修改或者删除操作
注:close方法中,包括了flush方法即写了write方法,不写flush方法直接用close方法,
仍然可以将内存中的内容写入到文件中上。
with open语法
形式: with open(name,mode,encoding) as 文件名:
注:该方法包含了open与close两种方法。
注:with open可以完成操作后自动的关闭文件,避免忘记使用close方法的情况。