python中的open()函数
使用open()函数打开文件时会返回一个文件对象(句柄),我们将通过这个文件对象来操作文件的读写;
比如:s = open('bokeyuan.txt') 这里的s就成为了一个文件对象(句柄),可以通过它来读文件:s.read()。
需要注意:文件打开操作完毕后需要.close()关闭文件,不然会造成不必要的内存占用
另外open()函数的参数列表共有8个参数(fileName、mode、buffering、encoding、errors、newline、closefd、opener),但是不需要全部都输入,只有前四个是比较重要的,
而且除了fileName其余都有对应的默认值
下面对前四个参数做详细说明:
1、filename:文件名字/路径
2、mode:指定文件的打开模式,比较常用的有 ’r’、’r+’和’w+’模式
使用’r’模式打开的文件只能读取文件,而不能改写文件内容;
使用’r+’模式打开的文件即可以读取文件,也可以写入文件;
使用’w+’模式与’r+’模式基本相同,唯一不同的是:使用’w+’模式可以创建一个新的文件,如果打开的文件已存在,原有内容会被删除,因此要谨慎使用’w+’模式打开文件,防止已有文件内容被清空。
使用’a’模式打开文件可以对文件进行追加的写入,如果文件不存在则会创建新的文件。
使用‘a+’模式打开文件可以对文件进行追加读写,如果文件不存在则会创建新的文件。
使用 ‘ rb’ 以二进制格式打开一个文件用于只读。
3、buffering:用于指定打开文件所用的缓冲方式,缓冲是指用于读取文件的缓冲区,缓冲区就是一段内存区域。设置缓冲区的目的是先把文件内容读取到缓冲区,可以减少CPU读取磁盘的次数。Buffering为0时表示不缓冲,为1时表示只缓冲一行数据,为-1时表示使用系统默认缓冲机制,默认为-1。任何大于1的值表示使用给定的的值作为缓冲区大小。一般情况下使用函数默认值即可。
4、encoding:指定文件的编码方式,默认为utf-8