Python学习笔记 第八天

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()  默认下一行会空白。(好像自身带了一个“ ”)。用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

原文地址:https://www.cnblogs.com/tjlhappyboy/p/11215632.html