文件读写属于python的基础操作,我们经常需要对文件进行读取和写入,让我们来学习如何对文件进行读取和写入。
1.获取文件路径
首先我们需要知道一个文件的位置,从而才能对它进行操作。通常定位文件位置有两种方法:绝对路径和相对路径。绝对路径从根目录出发,以Windows系统为例,绝对路径以分区名比如C:加反斜杠开头,路径中的每个目录之间用反斜杠进行分隔,最后以目标文件或者目标目录结尾。相对路径则是从一个参考位置出发,我们用点来表示当前参照文件当前所在目录,用点点来表示更上一层的父目录,如果继续往上走,就用点点加上斜杠或者反斜杠进行分隔再加上点点,这取决于操作系统(Windows用\)。而且.\可以省略,所以同一目录下的文件可以直接使用文件名。
2.读取文件
我们需要使用open函数,第一个参数是文件的路径,第二个是打开方式,第三个是编码方式,通常是UTF-8.
open(file, mode='r',ecoding="UTF-8")
打开文件模式默认是r,也就是只读模式,指针会放到文件开头。还有其它几种常用的:
w | 打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。 |
a | 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 |
w+ | 打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。 |
open函数执行成功之后会返回一个文件对象,我们可以对它进行操作:
f.read() | 读取全部的文件内容并打印,再次调用会返回空字符串,()可以传入一个字节,表示读取的字节数,再次调用会继续读取。 |
f.readline | 一行一行地读,读完会返回空字符串,与while循环连用。 |
f.readlines | 读取全部文件内容,返回字符串列表,与for循环连用。 |
每次完成文件读写操作都要使用f.close()关闭文件。
另外一种方法是使用with,格式为
with open(file) as f:
print(f.read())
这样文件就会自动关闭。
3.写文件
还是可以用with open方法:
with open("./date.txt","w",encoding="utf-8") as f:
f.write("输入要写入的内容")
#如果需要换行的话,需要自己添加/n
如果先前不存在这个文件,它会给你创建一个,如果想要追加,应该选用a模式打开。