Python基础入门 Day69 文件读取的高级技巧

63次阅读
没有评论

共计 981 个字符,预计需要花费 3 分钟才能阅读完成。

前面我们学习了文件的基本读写操作。本节我们将深入探讨文件读取的一些高级技巧,这些方法可以让程序更高效、更安全地处理数据。

  1. 使用 with 语句管理文件
    with 语句可以在操作完成后自动关闭文件,避免忘记 close() 而造成资源泄漏。
# 推荐写法
with open("data.txt", "r", encoding="utf-8") as f:
    content = f.read()
    print(content)

即使在读取过程中出现异常,with 语句也会确保文件被正确关闭。

  1. 逐行读取文件
    对于大文件,一次性读取会占用大量内存,逐行读取更加高效。
with open("data.txt", "r", encoding="utf-8") as f:
    for line in f:
        print(line.strip())

这里使用 strip() 去掉每行的换行符。

  1. 按行读取到列表
    有时我们需要将文件的每一行存储在一个列表中:
with open("data.txt", "r", encoding="utf-8") as f:
    lines = f.readlines()

print(lines)

这种方式适合中小型文件,但不适合特别大的文件。

  1. 按指定大小读取文件
    当文件非常大时,可以选择分块读取:
with open("data.txt", "r", encoding="utf-8") as f:
    while True:
        chunk = f.read(1024)  # 每次读取 1024 字符
        if not chunk:
            break
        print(chunk)

这种方法在处理日志、二进制文件时非常常见。

  1. 文件指针的移动
    Python 提供 seek() 方法移动文件指针,用于重复读取或跳过部分内容。
with open("data.txt", "r", encoding="utf-8") as f:
    print(f.read(5))   # 读取前 5 个字符
    f.seek(0)          # 将指针移回文件开头
    print(f.read(10))  # 再次读取 10 个字符

总结:
本节我们学习了文件读取的高级技巧,包括 with 语句、逐行读取、分块读取和文件指针操作。在实际项目中,选择合适的读取方式能提升代码效率和可维护性。

练习与思考:

  1. 写一个程序,将文件中每一行去掉首尾空格后存入列表,并输出该列表。
  2. 读取一个日志文件,每次只读取 512 字符,并统计读取的次数。
  3. 尝试在文件中读取前 10 个字符后,将指针移到文件的第 20 个字符位置,再继续读取内容。
正文完
 0
评论(没有评论)