f = open(filename, mode)
filename:文件路径
mode:打开文件的模式,默认只读 r。
打开模式分为如下:
a、r —— 只读。默认模式,如果文件不存在就报错,存在就正常读取
b、w ——只写。如果文件不存在,新建文件然后写入;若存在,先清空文件内容,再写入。
c、a ——追加。如果文件不存在,新建文件,然后写入;如果存在,在文件的最后追加写入。
d、x ——新建。如果存在则报错,如果不存在就新建文件,然后写入内容,比w模式更安全。
e、b ——二进制模式。比如rb、wb、ab,以bytes类型操作数据。
f、+ ——读写模式。比如r+、w+、a+
文件读取时,read()、readline()、readlines()的区别:
1、f.read(size)
读取一定大小的数据,size为数据时,用于指定读取量。若无size,则一次性读取所有文件内容。
2、f.readline()
从文件中读取一行内容,这种方法,不可回头,读过的不能再读了。
3、f.readlines()
一次性读取整个文件内容,不同于read()的是,他返回的是list,方便我们遍历哦
注:一般小文件用read(),大文件就用readlines()
4、f.write
将数据写入文件内, 文件进行写入时,若没执行close()方法,则所有的操作都在内容中操作。要立刻把写入操作反应到本地硬盘时,则使用clush(),不过这容易造成数据不一致,慎用!!!
5、f.tell()
返回文件读写指针当前所处的位置,它是从文件开头开始算起的字节数。
6、f.seek()
如果要改变位置指针的位置,可以使用f.seek(offset,from_what)方法。seek()经常和tell()方法配合使用。
offset表示偏移量。from_what的值,如果是0表示从文件开头计算,如果是1表示从文件读写指针的当前位置开始计算,2表示从文件的结尾开始计算,默认为0。
seek(x,0):从起始位置即文件首行首字符开始移动x个字符。
seek(x,1):表示从当前位置往后移动x个字符。
seek(-x,2):表示从文件的结尾往前移动x个字符。
7、f.close()
关闭文件对象。当处理完一个文件后,调用f.close()来关闭文件并释放系统的资源。文件关闭后,如果尝试再次调用该文件对象,则会抛出异常。忘记调用close()的后果是数据可能只写了一部分到磁盘,剩下的丢失了,或者更糟糕的结果。
with关键字用于python的上下文管理器机制
为了防止打开文件,在操作过程中出现异常/错误/忘记执行close()方法,文件非正常关闭等可能导致文件泄露、破坏的问题。python的with关键字可以保证文件被正常关闭。