1.文件的打开操作
1.1 open函数à文件句柄à进行文件操作
1.2 打开文件的方式:r,w,r+,w+,rb,wb,w+b,w+b,s,a,a+,ab,a+b。
注意:1.若没有指定,默认为r模式。
2.mode对应的是打开文件的方式,encoding对应的是编码格式。
一定要记得写close
3.“rb”在读取非文本文件时,比如mp3、MP4。读这些时需要用到“rb”。非文本文件中的数据是没有办法直接显示的。
1.3绝对路径与相对路径
1.3.1绝对路径:系统的目录一层层去找,即,文件实际存在的位置
1.3.2相对路径:与绝对路径相对(工作中大部分用相对路径)
2.文件的读取操作
2.1 read(n)
mode= “r” 读取n个字符。如果文件没有关闭,再次读取,不会从头开始读,而是在上次光标所在处开始读。弊端:如果文件过大,导致内存崩溃。
mode=’rb’ 读取的是n个字节。一般来说,三个字节是一个字符。
readline() 默认下一行会空白。(好像自身带了一个“\n”)。用strip可以去掉。
2.2循环读取
2.3文件的写入操作
2.3.1w、wb 写
注意:如果没有这个文本文件,就生成一个文件。如果有这个文件,文件中的内容被删除,重新写入我们输入的内容。
在文本模式下,用“r”和“w”模式,不用编码和解码。但是在非文本文件下,比如视频、音乐等,用‘wb’和‘rb’,因为用‘w’和‘r’是操作不了的。其实,看见带‘b’的,都是处理的非文本。(包含 ‘ab’)。
2.4文件的其他操作
2.4.1追加(a ab)
2.4.2读写
r+ 默认光标是在开头
2.4.3写读
w+ (不常用)
2.4.4追加读
a+ 先写后读和先读后写都是获取不到内容的。
2.4.5seek()
seek(0)çàseek(0,0) 光标移动到开头
seek(0,1)当前
seek(0,2)结尾
tell() 获取光标当前位置
truncate() 截断文件
deeping-bug:
在r+模式下,如果读取了内容,不论读取内容的多少,光标显示的多少。再写入文件或者操作文件时都是在结尾进行。
3.OS操作文件
文件修改:将老文件中内容读取到内存中à修改à删除老文件à新文件名替换老文件名
弊端:内存容易溢出。解决办法:一行一行的读,一行的改àfor line in f