0Pricing
Python Academy · 课时

打开与读取文件

打开文本文件,并使用 read 和 readlines 读取其内容。

打开与读取文件 是 CoddyKit 上的免费 Python Academy 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Python Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Python Academy 课程共包含 4 节课。

简介

Python 内置的 open() 函数让您可以访问文件系统。逐行读取文件对于大型数据来说更加节省内存。

open() 基础

f = open('file.txt', 'r') 会以读取模式打开文件。模式包括:'r' 读取、'w' 写入、'a' 追加、'b' 二进制。
# f = open('data.txt', 'r')
# content = f.read()
# f.close()
print('open demo')

read() 方法

f.read() 会将整个文件作为一个字符串读取。它适合小型文件;对于数 GB 的文件应避免使用。
# content = open('data.txt').read()
print('read demo')

readlines()

f.readlines() 会返回一个行列表,每行都以 \n 结尾。需要去除行尾字符:line.rstrip()。
# lines = open('data.txt').readlines()
# for line in lines: print(line.rstrip())
print('readlines demo')

readline()

f.readline() 一次读取一行。当您需要精细控制,或正在读取超大文件的数据流时,这很有用。
# f = open('data.txt')
# first = f.readline()
print('readline demo')

直接遍历行

for line in f: 是最高效的内存使用方式之一——它一次读取一行,而不会将整个文件加载到内存中。
# for line in open('data.txt'):
#     print(line.rstrip())
print('line iterator demo')

编码参数

请始终指定编码:open('file.txt', encoding='utf-8'),以避免平台特定的默认编码导致错误。
# f = open('data.txt', 'r', encoding='utf-8')
print('encoding demo')

读取指定字节

f.read(100) 最多读取 100 个字节或字符。f.seek(0) 会将文件指针重置到开头。
# f = open('data.txt')
# chunk = f.read(100)
# f.seek(0)
print('seek demo')

tell()

f.tell() 会返回当前的字节位置。可以结合 seek() 在文件中跳转。
# f = open('data.txt')
# f.read(5)
# print(f.tell())
print('tell demo')

读取二进制文件

open('image.png', 'rb') 会以二进制读取模式打开文件。它返回 bytes 对象,而不是字符串。
# with open('image.png', 'rb') as f:
#     header = f.read(4)
print('binary read demo')

始终关闭文件

f.close() 会释放操作系统的文件句柄。如果代码在 close() 之前引发错误,句柄就会泄漏。请使用 with 来避免这种情况。
# f = open('data.txt')
# try:
#     content = f.read()
# finally:
#     f.close()
print('close demo')

快速检查

哪个方法可以从文件对象中一次读取一行?

回顾

open(path, mode, encoding) 会打开文件。read() 获取全部内容。readline() 获取一行。直接遍历文件对象可以提高效率。请始终关闭文件。

继续学习

做得很好!请继续下一课,持续取得进步。

常见问题解答

「打开与读取文件」课时是免费的吗?

是的 — 「打开与读取文件」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Python Academy 课程的其余内容,请升级到 CoddyKit PRO。 Python Academy 课程共包含 4 节课。

「打开与读取文件」这节课中我会学到什么?

打开文本文件,并使用 read 和 readlines 读取其内容。 你通过在浏览器中直接运行的动手代码来练习 Python Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Python Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Python Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。

「打开与读取文件」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Python Academy 课中编写并运行代码吗?

能。每节 Python Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 打开与读取文件
  2. 写入文件与追加内容
  3. 使用 with 语句处理文件
  4. 使用 pathlib 处理文件路径
← 返回 Python Academy