关于文件的操作r、r+、w、w+
读文件:获取文件的数据。
- 一次读取全部数据,如果文件特别大,比如10G的文件内容,你的内存只有4G,那么内存会爆了。
- 适用范围:适用于小文件,几百兆的都是可以的。所有的数据都在内存中,操作很快。
- 一次读取一行数据,然后把所有的行都读出来。
- 适用范围:大小文件都可以,节省内存,但是速度会慢一些。
换言之,用空间换时间(一次性读到内存里),用时间换空间(逐行逐行的读取)
写文件:把数据写入到文件中。
- 清空写:把文件原有内容都删除掉,再写入新的内容;
- 追加写:保留原有文件内容的同时,把新的内容写入到最后面。
文件的操作模式:
- r:读模式,只能读取数据,不能写入数据。
- r+:读写模式,可以同时读,也可以同时写。(原有文件内容都会被保存。)
- w:清空写模式,如果文件不存在,则自动创建。如果文件已经存在,把原有的文件内容删除光。再写入新的内容。
- w+:清空读写模式,读新写入的内容。
- a:就是append,在文件最后追加新写入的内容。
文本文件:肉眼可以识别的内容,基本这些都是文本文件;
二进制文件:用写字板(txt)打开文件内容,基本都是乱码。
操作文件模式:
1、打开文件,获取文件句柄;
2、通过文件句柄去读取或者写入内容;
3、所有的操作都完成了,把文件关闭掉。
写文件举例子:
读文件举例子(一次性读取):
逐行读取文件:
还有一种一次性读取文件的方法,readlines()
将文件写入文件指定的位置:
一个write语句写入多行数据: