python处理文件

文本文件一般由单一特定编码的字符组成,如UTF-8编码,内容容易统一展示和阅读。
二进制文件直接由比特0和比特1组成,文件内部数据的组织格式与文件用途有关。二进制是信息按照非字符但特定格式形成的文件,例如,png格式的图片文件、avi格式的视频文件。

文件的基本操作

  1. 打开文件 open()
  2. 读写文件 read() /write()
  3. 关闭文件 close()

主要使用函数:

open()

f = open("文件的路径",mode = 'w+', encoding = 'utf-8') 
# mode = 'w+' 以写的形式打开文件 可读可写
# ‘rb’:以二进制的形式读取文件
# encoding = 'utf-8' 指定编码方式

访问方式

描述

r

打开一个已有的文本文件,允许读取文件。只读模式如果文件不存在,返回异常FileNotFoundError

w

打开一个文本文件,允许写入文件。如果文件不存在,则会创建一个新文件。该模式下,您的程序会从文件的开头写入内容。如果文件存在,则该会被截断为零长度(覆盖写),重新写入。

a

打开一个文本文件,以追加模式写入文件。如果文件不存在,则会创建一个新文件。该模式下,程序会在已有的文件内容中追加内容。

r+

打开一个文本文件,允许读写文件。(文件指针将会放在文件的开头)

w+

打开一个文本文件,允许读写文件。如果文件已存在,则文件会被截断为零长度(覆盖写),如果文件不存在,则会创建一个新文件。

a+

打开一个文本文件,允许读写文件。如果文件不存在,则会创建一个新文件。读取会从文件的开头开始,写入则只能是追加模式。(如果文件存在文件指针位于文件的末尾)

rb

以只读方式打开一个二进制文件

rw

以只写方式打开一个二进制文件

ra

打开一个二进制文件追加

read()

f.read():一次性读取所有数据

f.readline(): 按照行读取数据

f.readlines(): 读取多行内容放入列表(列表中的元素,存在‘\n’)

write()

f.write(str) 将字符串写入到文件中

常用函数

方法

含义

f.read(size=-1)

从文件中读入整个文件内容。

f.readline(size=-1)

从文件中读入一行内容。参数可选,如果给出,读入该行前size长度的字符串或字节流

f.readlines(hint=-1)

从文件中读入所有行,以每行为元素形成一个列表。参数可选,如果给出,读入hint行

f.seek(offset)

改变当前文件操作指针的位置,offset的值 0:文件开头;2: 文件结尾

f.writelines(lines)

直接将列表类型的各元素连接起来写入文件f

f.write(s)

向文件写入一个字符串或字节流