一、文件Read利用概述:
- 要利用文本文件中的信息,首先必要将信息读取到内存中。
- 我们可以一次性读取文件的全部内容,也可以以每次一行的方式渐渐读取。
二、文件指针:
- 文件指针 标记 从哪个位置开始读取数据
- 第一次打开 文件时,通常 文件指针会指向文件的开始位置
- 当实行了 read 方法后,文件指针 会移动到 读取内容的末尾
- 重新打开文件时,文件指针 重新指向文件的最 开始位置
三、read 方法 —— 读取文件
- read() 方法可以一次性 读入 并 返回 文件的 全部内容
- read() 方法实行后,会把 文件指针 移动到 文件的末尾
# Read 用法# 打开文件fr = open("/etc/hosts", mode="r")# 读取前5个字符print(fr.read(5))# 接着读后续的3个字符print(fr.read(3))# 读取剩余全部字符print(fr.read())# 关闭资源fr.close()四、Readline 方法 —— 按行读取
- read 方法默认会把文件的 全部内容 一次性读取到内存
- 如果文件太大,对内存的占用会非常严峻
- readline 方法可以一次读取一行内容
- 方法实行后,会把 文件指针 移动到下一行,准备再次读取
readline() 用法
# 打开文件fr = open("/etc/passwd", mode="r")# 读取一行数据print(fr.readline(), end="")print(fr.readline())# 关闭资源fr.close()案例:读取大文件的正确姿势
print("\n案例一:\n打印大文本文件etc/passwd\n")# 打开文件fr = open('/etc/passwd', mode='r')# 循环读取文件while True: data = fr.readline() if data == "": break print("data: ", data, end="")# 关闭资源fr.close()五、Readlines 方法
- readlines() 方法读取全部(剩余的)行然后把它们作为一个 字符串列表 返回
readlines() 运用
# 打开文件fr = open("/etc/hosts", mode="r")# 读取文件data = fr.readlines()# 打印全部行print(data)print(data[1])# 关闭资源fr.close()for&readlines()结合利用
for item in data: print("item:", item, end="")利用readlines()的简写方式
- 利用"fr"相当于是"fr.readlines()"
print("\n利用readline()的简写方式:fr\n")fr = open("/etc/shadow", mode="r")for item in fr: print("item:", item, end="")fr.close() |