持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第30天,点击查看活动详情
1. 文件指针
- 文件指针标记从哪个位置开始读取数据
- 第一次打开文件时,通常文件指针会指向文件的开始位置
- 当执行了read方法后,文件指针会移动到读取内容的末尾
- 默认情况下会移动到文件末尾
- 注意:如果执行了一次
read方法,读取了所有内容,那么再次调用read方法,就不能获得到文件内容了。因为,第一次读取之后,文件指针移动到了文件末尾,再次调用不会读取到任何的内容。
2. 代码演示
代码演示如下所示:当执行完一次read,再执行一次,看看还会不会显示文件内容?
# 1. 打开文件
file = open("README.md")
# 2. 读取文件内容
text = file.read()
print(text)
print("-" * 50)
text = file.read()
print(text)
# 3. 关闭文件
file.close()
运行结果如下图所示:图中-----下方不再显示文件内容,因为文件指针在第一次完执行read时候,已经移动到文件末尾。再次从末尾读取就是空的了,读不到任何内容了。
3. 打开文件的方式
open函数默认以只读方式打开文件(并不需要传递第二个参数给open),并且返回文件对象
语法如下:
f = open("文件名", "访问方式")
| 访问方式 | 说名 |
|---|---|
| r | 以只读方式打开文件。文件的指针将会放在文件的开头,这是默认模式。如果文件不存在,抛出异常 |
| w | 以只写方式打开文件。如果文件存在会被覆盖。如果文件不存在,创建新文件 |
| a | 以追加方式打开文件。如果该文件已存在,文件指针将会放在文件的结尾。如果文件不存在,创建新文件进行写入 |
| r+ | 以读写方式打开文件。文件的指针将会放在文件的开头。如果文件不存在,抛出异常 |
| w+ | 以读写方式打开文件。如果文件存在会被覆盖。如果文件不存在,创建新文件 |
| a+ | 以读写方式打开文件。如果该文件已存在,文件指针将会放在文件的结尾。如果文件不存在,创建新文件进行写入 |
提示:频繁的移动文件指针,会影响文件的读写效率,开发中更多的时候会以只读、只写的方式来操作文件。