open()函数
- file = open(file_name [, mode=‘r’ [ , buffering=-1 [ , encoding = None ]]])
- 参数file_name:要创建或打开文件的文件名称,该名称要用引号(单引号或双引号都可以)括起来。需要注意的是,如果要打开的文件和当前执行的代码文件位于同一目录,则直接写文件名即可;否则,此参数需要指定打开文件所在的完整路径。
- 参数mode:
r 只读模式打开文件,读文件内容的指针会放在文件的开头。 操作的文件必须存在。
rb 以二进制格式、采用只读模式打开文件,读文件内容的指针位于文件的开头,一般用于非文本文件,如图片文件、音频文件等。
r+ 打开文件后,既可以从头读取文件内容,也可以从开头向文件中写入新的内容,写入的新内容会覆盖文件中等长度的原有内容。
rb+ 以二进制格式、采用读写模式打开文件,读写文件的指针会放在文件的开头,通常针对非文本文件(如音频文件)。
带“r”的模式,文件必须存在
w 以只写模式打开文件,若该文件存在,打开时会清空文件中原有的内容。 若文件存在,会清空其原有内容(覆盖文件);反之,则创建新文件。
wb 以二进制格式、只写模式打开文件,一般用于非文本文件(如音频文件)
w+ 打开文件后,会对原有内容进行清空,并对该文件有读写权限。
wb+ 以二进制格式、读写模式打开文件,一般用于非文本文件
带“w”的模式若文件存在,会清空其原有内容(覆盖文件);反之,则创建新文件
a 以追加模式打开一个文件,对文件只有写入权限,如果文件已经存在,文件指针将放在文件的末尾(即新写入内容会位于已有内容之后);反之,则会创建新文件。
ab 以二进制格式打开文件,并采用追加模式,对文件只有写权限。如果该文件已存在,文件指针位于文件末尾(新写入文件会位于已有内容之后);反之,则创建新文件。
a+ 以读写模式打开文件;如果文件存在,文件指针放在文件的末尾(新写入文件会位于已有内容之后);反之,则创建新文件。
ab+ 以二进制模式打开文件,并采用追加模式,对文件具有读写权限,如果文件存在,则文件指针位于文件的末尾(新写入文件会位于已有内容之后);反之,则创建新文件。
with open()函数
- 上下文管理器 with关键字用于python的上下文管理器机制。为了防止诸如open这一类文件打开方法在操作过程出现异常或错误,或者最后忘了执行close方法,文件非正常关闭等可能导致文件泄露、破坏的问题。python提供了with这个上下文管理机制,保证文件会正常关闭,在她的管理下,不需要再写close语句。其余操作都同open()一致。
with open("file_name","r") as f : #打开file_name文件并指定为“f”
读取
- 按行读取:
f.readline()
当内容为空是则输出控制; - 读取所有内容:
f.readlines()
返回值为列表,便于我们操作; - 读取所有内容:
f.read()
读取全部内容,\n是转行字符,类型为字符串;
写入
f.write
当重新写入时会覆盖之前的内容,若继续写入时,则在上一个内容的后面添加;有返回值,返回值为添加内容的长度;
关闭文件
f.close()
关闭文件之后再写入会报错。