Python-文件操作-文件指针

242 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 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时候,已经移动到文件末尾。再次从末尾读取就是空的了,读不到任何内容了。

image.png

3. 打开文件的方式

open函数默认以只读方式打开文件(并不需要传递第二个参数给open),并且返回文件对象

语法如下: f = open("文件名", "访问方式")

访问方式说名
r以只读方式打开文件。文件的指针将会放在文件的开头,这是默认模式。如果文件不存在,抛出异常
w只写方式打开文件。如果文件存在会被覆盖。如果文件不存在,创建新文件
a以追加方式打开文件。如果该文件已存在,文件指针将会放在文件的结尾。如果文件不存在,创建新文件进行写入
r+以读写方式打开文件。文件的指针将会放在文件的开头。如果文件不存在,抛出异常
w+以读写方式打开文件。如果文件存在会被覆盖。如果文件不存在,创建新文件
a+以读写方式打开文件。如果该文件已存在,文件指针将会放在文件的结尾。如果文件不存在,创建新文件进行写入

提示:频繁的移动文件指针,会影响文件的读写效率,开发中更多的时候会以只读、只写的方式来操作文件。