美文网首页Python基础python
Python文件读写操作-2·文件读操作(Read)

Python文件读写操作-2·文件读操作(Read)

作者: 技术老男孩 | 来源:发表于2022-12-23 07:35 被阅读0次

一、文件Read操作概述:

  • 要使用文本文件中的信息,首先需要将信息读取到内存中。
  • 我们可以一次性读取文件的全部内容,也可以以每次一行的方式逐步读取。

二、文件指针:

  • 文件指针 标记 从哪个位置开始读取数据
  • 第一次打开 文件时,通常 文件指针会指向文件的开始位置
  • 当执行了 read 方法后,文件指针 会移动到 读取内容的末尾
    • 默认情况下会移动到 文件末尾
  • 重新打开文件时,文件指针 重新指向文件的最 开始位置


    文件指针.png

三、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()

相关文章

网友评论

    本文标题:Python文件读写操作-2·文件读操作(Read)

    本文链接:https://www.haomeiwen.com/subject/rdsfqdtx.html