1、文件读写模式
值 | 描述 |
r | 读取模式(默认值) |
w | 写入模式 |
x | 独占写入模式 |
a | 附加模式 |
b | 二进制模式(与其他模式结合使用) |
t | 文本模式(默认值,与其他模式结合使用) |
+ | 读写模式(与其它模式结合使用) |
w+ | 以读写的方式打开文件,如果文件已经存在则覆盖,如果不存在,则创建新的文件 |
ab+ | 以二进制的格式打开一个文件用于追加,如果文件存在,指针会放在文件结尾,如果不存在,则会创建新的文件夹,创建新文件用于写入。 |
2、文件的打开与关闭
2.1 打开文件:f = open('test.txt')
2.2 关闭文件:f.close() # 此处要做异常处理
2.3 使用with语法打开关闭:
with open("somefile.txt") as f:
到达该语句末尾时,将自动关闭文件,即便出现异常亦如此
3、文件的读取
3.1 read():读取文件,可以指定参数,表示读几个字符(字节)
3.2 readline() :读取一个行数据,可以指定参数,表示读前几个字符(字节)
3.3 readlines():读取所有行,并返回列表
3.4 f.seek()函数
标准格式:seek(offset, whence=0)
offset:开始的偏移量,也就是代表需要移动偏移的字节数
whence:给offset参数一个定义,表示要从哪个位置开始偏移,whence 的默认参数是0
0代表从文件 开头 开始算起
1代表从 当前位置 开始算起
2代表从文件 末尾 算起
4、文件的写入
使用write函数向打开的文件对象写入内容 (如果查询不到则新建)
使用writelines函数向打开的文件对象写入多行内容(如果查询不到则新建)
Tips:
- 换行符可以使用\r \n 或 \r\n (通常是\n)
- 模式详解
模式 | r | r+ | w | w+ | a | a+ |
解读 | 只读模式,指针放在文件的开头。 | 读写模式,指针放在文件的开头。 | 写模式,如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,会创建新文件。 | 读写模式,如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,会创建新文件 | 追加模式,如果该文件已存在则打开文件,并从末尾开始写入。如果该文件不存在,创建新文件用于写入。 | 读写模式。如果该文件已存在,指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。 |
读 | √ | √ | | √ | | √ |
写 | | √ | √ | √ | √ | √ |
创建 | | | √ | √ | √ | √ |
覆盖 | | | √ | √ | | |
指针在开始 | √ | √ | √ | √ | | |
指针在结尾 | | | | | √ | √ |