目录
我们知道计算机只能识别二进制的0与1,那么我们丰富的文本文件是如何被计算识别,并存储在计算机硬盘中的呢?
答案:使用编码技术(密码本)将内容翻译成0,1序列存入。??
编码技术即:翻译的规则,记录了如何将内容翻译成二进制,以及如何让将二进制翻译回可识别的内容。?
计算机有许多可用编码:
UTF-8GBK
Big5
不同的编码,将内容翻译成二进制也是不同的。
UTF-8是目前全球通用的编码格式,除非有特殊需求,一律以UTF-8格式进行文件编码即可。
如图windows11记事本使用的就是UTF-8编码:
?什么是文件?
内存中存放的数据在计算机关机后就会消失。要长久保存数据,就要使用硬盘、光盘、U盘等设备。为了便于数据的管理和检索,引入了“文件”的概念。
一篇文章、一段视频、一个可执行程序,都可以被保存为一个文件,并赋予一个文件名。操作系统以文件为单位管理磁盘中的数据。―般来说,文件可分为文本文件、视频文件、音频文件、图像文件、可执行文件等多种类别。
在日常生活中,文件的操作主要包括:
????????打开文件
????????读写文件
????????关闭文件
?1.打开文件
?在Python中,使用open函数,可以打开一个已经存在的文件,或者创建一个新文件,语法如下:
open(name,mode,encoding)
?name:是要打开的目标文件名的字符串(可以包含文件所在的具体路径?)
?mode:设置打开文件的模式(访问模式):只读,只写,追加等。
?encoding:编码格式(推荐使用UTF-8)
2.读取操作的相关方法
?read()方法
文件对象.read(num)
num表示要从文件中读取的数据长度(单位是字节),如果没有传入num,那么就表示读取文件中的所有数据。
readlines()方法
readlines可以按照行的方式把整个文件中的内容进行一次性读取,并且返回的是一个列表,其中每一行的数据为一个元素。
readline()方法
?一次读取一行数据内容。
for循环读取文件?
?演示操作:
?
?
3.关闭文件
close().关闭对象文件
4.with open语法
????????通过在with open的语句中对文件进行操作可以在操作完成后自动关闭close文件,避免遗忘掉close方法。
with open("D:/test.txt", "r", encoding="UTF-8") as f: for line in f: print(line)
总结?
?
?write()方法
write()方法可将任何字符串写入一个打开的文件。需要重点注意的是,Python字符串可以是二进制数据,而不是仅仅是文字。
write()方法不会在字符串的结尾添加换行符('\n'):
直接调用write,内容并未真正写入文件,而是会积攒在程序的内存中,称之为缓冲区
当调用flush的时候,内容会真正的写入文件
这样做是避免频繁的操作硬盘,导致效率下降。
注意:
w模式,文件不存在,会创建新文件w模式,文件存在,会清空原有内容
close()方法,带有flush()方法的功能。?
文件的追加操作和写入 操作的方法是一样的,只不过在模式选择时,选择a模式。
案例演示:
?a模式,文件不存在,会创建新文件
a模式,文件存在,会在原有的内容后面继续写入。
可以使用“\n”来写换行符。
【文件综合案例】
对文本数据进行处理得到是员工的信息:
?