目 录CONTENT

文章目录

Python 程序设计 - 20. 文件操作

李航
2025-12-09 / 0 评论 / 0 点赞 / 6 阅读 / 0 字

Python 程序设计 - 20. 文件操作(基础的文件读写)

1. 引入

在学习 Python 编程时,处理文件是必不可少的能力之一。无论是保存程序运行结果、读取配置文件、存储数据,甚至实现日志记录,都需要掌握文件的读写操作。

Python 提供了非常简单易用的文件操作方法,本节将带你了解最基础的文件读写,包括写入文件读取文件

掌握这些内容后,你就可以轻松让你的程序与外部世界交互!


2. 文件操作介绍

Python 中处理文件只需要三个步骤:

  1. 打开文件(open)
  2. 操作文件(读/写)
  3. 关闭文件(close)

常用的打开模式如下:

模式含义
"w"只写,文件不存在则创建,会覆盖原内容
"a"追加写,不覆盖原内容
"r"只读,文件必须存在
"w+"读写(覆盖)
"a+"读写(追加)
"r+"读写(不覆盖)

最常用的是 "w"(写)、"a"(追加)、"r"(读)。


3. 语法 + 案例

下面我们通过简单示例学习文件的“写入”和“读取”。


(1)写入文件 write()

语法

f = open("文件名", "w")
f.write("内容")
f.close()

案例

f = open("test.txt", "w")
f.write("Hello Python!\n")
f.write("这是我的第一行文件写入操作。")
f.close()

执行后,会生成一个 test.txt 文件,内容如下:

Hello Python!
这是我的第一行文件写入操作。

(2)追加写入 append

f = open("test.txt", "a")
f.write("\n这是追加的一行内容。")
f.close()

运行后不会覆盖原文件,而是在末尾增加一行。


(3)读取文件 read()

语法

f = open("文件名", "r")
content = f.read()
f.close()

案例

f = open("test.txt", "r")
content = f.read()
print(content)
f.close()

输出:

Hello Python!
这是我的第一行文件写入操作。
这是追加的一行内容。

(4)逐行读取 readline() / readlines()

  • readline():一次读取一行
  • readlines():一次读取所有行,返回列表

示例:

f = open("test.txt", "r")
lines = f.readlines()
for line in lines:
    print(line.strip())  # 去掉换行
f.close()

(5)with 自动管理文件(推荐)

with open() 可以自动关闭文件,非常安全。

with open("test.txt", "r") as f:
    print(f.read())

4. 代码说明

  1. open() 用来打开文件,参数中可以指定文件路径和模式,例如 "w" 表示写入模式。
  2. write() 将字符串写入文件。如果文件不存在会自动创建。
  3. close() 用来关闭文件,释放资源。
  4. read() 会一次读取整个文件内容,适合文件较小时使用。
  5. readline()readlines() 用于逐行读取,更适合大文件。
  6. with open() 是 Python 中处理文件的推荐方式,不需要手动关闭文件,代码更加简洁、安全。

5. 练习题(不少于3题)

练习 1

编写程序,创建一个名为 note.txt 的文件,并写入以下内容:

Python 文件操作练习
这是第二行

练习 2

读取 note.txt 文件内容,并逐行输出。


练习 3

note.txt 追加一个新内容:

这是追加的一行内容

练习 4(进阶)

读取一个文件,统计文件中总共有多少行。


6. 练习题答案

答案 1

with open("note.txt", "w") as f:
    f.write("Python 文件操作练习\n")
    f.write("这是第二行")

答案 2

with open("note.txt", "r") as f:
    for line in f:
        print(line.strip())

答案 3

with open("note.txt", "a") as f:
    f.write("\n这是追加的一行内容")

答案 4(进阶)

count = 0
with open("note.txt", "r") as f:
    for _ in f:
        count += 1

print("行数为:", count)

0

评论区