Python 程序设计 - 20. 文件操作(基础的文件读写)
1. 引入
在学习 Python 编程时,处理文件是必不可少的能力之一。无论是保存程序运行结果、读取配置文件、存储数据,甚至实现日志记录,都需要掌握文件的读写操作。
Python 提供了非常简单易用的文件操作方法,本节将带你了解最基础的文件读写,包括写入文件与读取文件。
掌握这些内容后,你就可以轻松让你的程序与外部世界交互!
2. 文件操作介绍
Python 中处理文件只需要三个步骤:
- 打开文件(open)
- 操作文件(读/写)
- 关闭文件(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. 代码说明
open()用来打开文件,参数中可以指定文件路径和模式,例如"w"表示写入模式。write()将字符串写入文件。如果文件不存在会自动创建。close()用来关闭文件,释放资源。read()会一次读取整个文件内容,适合文件较小时使用。readline()和readlines()用于逐行读取,更适合大文件。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)
评论区