python文件读写的六种模式,相对路径和绝对路径
前面在介绍文件读写操作的基本方法中,我们所举的例子当中打开文件的方式分别是“w”只写和“r”只读两种模式,这一章节,我们来具体介绍文件读写的六种模式。
python文件读写模式表
模式 | 描述 |
r | 只读,默认模式,文件不存在则报错; |
w | 只写,如果文件不存在,则根据路径新建文件,并写入,如果文件已经存在,则写入的内容覆盖原内容; |
a | 追加,如果文件不存在,则新建文件,并写入,如果文件已存在,会在文件的末尾追加写入,就像列表中的append()函数; |
x | 新建,如果文件存在就报错,不存在则新建文件,并写入,这样就可以避免存在的文件内容被覆盖的麻烦; |
rb、wb、ab | 只读、只写、追加的二进制模式,以bytes类型操作数据; |
r+、w+、a+ | 读写模式,既能读取也能写入,文件存不存在的规则与上面的类似; |
上面模式的实例跟前面介绍python文件读写操作的实例都大同小异,大家可以自己去尝试一下,摸索一下,看看效果如何。
相对路径和绝对路径
如果你已经对文件的相对路径和绝对路径有了充分的了解,那么该标题下的这些内容可以略过。
相对路径
相对路径:是以当前的文件为参照物的情况下,其他文件的路径。简而言之,就是你当前所处的计算机位置,比如D盘,那么从这里开始一直到找到你所要找到目标文件的路径,比如,我们所要运行的py文件在“D:\python\pymode\test.py”,其中“D:\python\pymode\”为test.py文件所在的目录,test为文件名,.py为扩展名,那么要打开跟test.py同级目录,也就是在同一个文件夹里头的文件data.txt,可以用如下代码:
f = open('data.txt', 'r', encoding='utf-8')
打开同级目录文件夹下的文件,比如打开pymode文件夹中的文件夹pymode_a当中的data2.txt文件,代码如下:
f = open('./pymode_a/data2.txt', 'w', encoding='utf-8')
打开上一级目录的文件,比如打开pymode文件夹的上一个文件夹python当中的data3.txt文件,代码如下:
f = open('../data3.txt', 'w', encoding='utf-8')
同样的道理,打开上一级目录文件夹中的文件夹下的文件,比如打开pymode文件夹上一级目录python中的文件夹pyclass当中的bigdata.txt文件,代码如下:
f = open('./pyclass/bigdata.txt', 'w', encoding='utf-8')
绝对路径
绝对路径自然是相对于相对路径而言的,其特点是从0开始找到目标文件的路径,比如将上面的几个路径用绝对路径可表示成下面几种方式:
D:\python\pymode\test.py
D:\python\pymode\data.txt
D:\python\pymode\pymode_a\data2.txt
D:\python\data3.txt
D:\python\pyclass\bigdata.txt
python文件的读写就暂时介绍到这里,后面的大数据和机器学习当中会有较多实例,下一章节我们将介绍python的另一大重要内容——面向对象编程。