一、单项选择题(本大题共 15 小题)
1、在 Python 中,打开文件时使用的内置函数是:
① load()
② read()
③ open()
④ file()
2、以下哪种文件打开模式会清空文件内容?
① 'r'
② 'w'
③ 'a'
④ 'x'
3、使用 with 语句打开文件的主要优点是:
① 文件读取速度更快
② 自动处理文件关闭
③ 支持更大的文件
④ 可以同时打开多个文件
4、以下代码的输出结果是:
with open("test.txt", "w") as f: f.write("Hello\nWorld")with open("test.txt", "r") as f: content = f.read()print(len(content))① 2
② 10
③ 11
④ 12
5、在 CSV 文件中,默认的分隔符是:
① 制表符
② 逗号
③ 分号
④ 空格
6、以下哪个方法可以一次性读取文件的所有行,返回列表?
① read()
② readline()
③ readlines()
④ load()
7、使用 json.dump() 将 Python 对象写入文件时,indent 参数的作用是:
① 指定编码格式
② 美化输出,添加缩进
③ 确保中文正常显示
④ 指定数据类型
8、以下代码的功能是:
with open("data.txt", "a") as f: f.write("new data\n")① 读取文件内容
② 覆盖文件内容
③ 在文件末尾追加内容
④ 创建新文件
9、在文件操作中,'r+' 模式表示:
① 只读
② 只写
③ 读写(从开头)
④ 读写(追加)
10、以下哪个异常表示文件不存在?
① FileExistsError
② FileNotFoundError
③ PermissionError
④ IOError
11、CSV 文件的优点不包括:
① 人类可读
② 跨平台兼容
③ 支持复杂嵌套结构
④ 易于导入到电子表格
12、以下代码的输出结果是:
import jsondata = {'name': '艾婉婷', 'age': 18}json_str = json.dumps(data, ensure_ascii=False)print(type(json_str))① dict
② str
③ list
④ tuple
13、在二进制文件操作中,使用的模式字符是:
① 't'
② 'b'
③ 'x'
④ '+'
14、以下哪个方法用于改变文件指针的位置?
① seek()
② tell()
③ position()
④ locate()
15、处理 CSV 文件时,使用 DictReader 读取数据,每一行数据以什么形式返回?
① 列表
② 元组
③ 字典
④ 字符串
二、多项选择题(本大题共 15 小题)
1、以下哪些是文本文件的常见编码格式?
① UTF-8
② GBK
③ ASCII
④ Binary
2、关于文件打开模式,以下哪些说法是正确的?
① 'r' 模式要求文件必须存在
② 'w' 模式会清空文件原有内容
③ 'a' 模式在文件末尾追加内容
④ 'x' 模式用于打开已存在的文件
3、以下哪些文件对象方法可以用于读取文件内容?
① read()
② readline()
③ readlines()
④ load()
4、使用 csv 模块处理 CSV 文件时,以下哪些说法是正确的?
① writerow() 写入一行数据
② writerows() 写入多行数据
③ reader() 返回一个读取器对象
④ 默认分隔符是逗号
5、关于 JSON 格式,以下哪些说法是正确的?
① JSON 是轻量级的数据交换格式
② JSON 支持注释
③ JSON 键必须是字符串
④ JSON 值可以是数组
6、以下哪些是文件对象的常用方法?
① write()
② close()
③ seek()
④ split()
7、在文件操作中,异常处理需要考虑哪些异常?
① FileNotFoundError
② PermissionError
③ IsADirectoryError
④ ValueError
8、关于 with 语句,以下哪些说法是正确的?
① 自动管理资源
② 避免忘记关闭文件
③ 发生异常时也能正确关闭文件
④ 只能用于文件操作
9、以下哪些是 CSV 文件的特点?
① 纯文本格式
② 每行一条记录
③ 字段间用分隔符分隔
④ 支持复杂的数据结构
10、使用 json 模块时,以下哪些方法可用于 JSON 处理?
① dump()
② dumps()
③ load()
④ loads()
11、关于文件指针,以下哪些说法是正确的?
① tell() 返回当前位置
② seek() 改变指针位置
③ 读取操作会移动指针
④ 写入操作不会移动指针
12、以下哪些是二进制文件的应用场景?
① 图片文件
② 音频文件
③ 视频文件
④ 文本日志
13、在 CSV 文件写入时,设置 newline='' 的作用是:
① 避免在 Windows 中产生空行
② 提高写入速度
③ 统一换行符处理
④ 支持中文编码
14、关于数据维度,以下哪些说法是正确的?
① 一维数据可用列表表示
② 二维数据可用嵌套列表表示
③ CSV 适合存储二维数据
④ JSON 适合存储高维数据
15、以下哪些是良好的文件操作实践?
① 使用 with 语句管理文件
② 指定明确的编码格式
③ 及时关闭文件
④ 对文件操作进行异常处理
三、程序填充题(本大题共 5 小题)
1、以下程序用于统计文本文件中单词的数量。请在下划线处补全代码。
with open("poem.txt", "r", encoding="utf-8") as f: content = f.read() words = content.split() count = ________ print(f"单词数量: {count}")2、以下程序用于读取 CSV 文件并计算平均成绩。请在下划线处补全代码。
import csv total = 0count = 0with open("scores.csv", "r", encoding="utf-8") as f: reader = csv.reader(f) next(reader) # 跳过标题行 for row in ________: score = int(row[1]) # 假设成绩在第二列 total += score count += 1 average = ________ / count if count > 0 else 0print(f"平均成绩: {average:.2f}")3、以下程序将 Python 字典保存为 JSON 文件。请在下划线处补全代码。
import json data = { "name": "张三", "age": 20, "courses": ["数学", "英语", "编程"]} with open("student.json", "w", encoding="utf-8") as f: ________(data, f, indent=4, ensure_ascii=False) print("JSON文件保存成功")4、以下程序实现文件复制功能。请在下划线处补全代码。
def copy_file(source, target): with open(source, "rb") as src: with open(target, ________) as dst: content = src.read() ________ copy_file("source.jpg", "target.jpg")print("文件复制完成")5、以下程序读取 JSON 配置文件。请在下划线处补全代码。
import json with open("config.json", "r", encoding="utf-8") as f: config = ________ print(f"服务器地址: {config.get('host', 'localhost')}")print(f"端口号: {config.get('port', 8080)}")四、编程题(本大题共 2 小题)
1、学生成绩管理系统
编写一个学生成绩管理系统,实现以下功能:
(1)添加学生成绩(姓名、成绩)
(2)将成绩保存到 CSV 文件
(3)从 CSV 文件读取并显示所有成绩
(4)计算并显示平均分、最高分、最低分
(5)将统计结果保存到 JSON 文件
要求:
(1)使用函数组织代码
(2)使用异常处理确保文件操作安全
(3)支持中文姓名和成绩
(4)主要变量:students, filename, statistics
2、日志分析器
编写一个日志分析器,分析服务器日志文件:
(1)读取日志文件(包含时间、IP 地址、状态码)
(2)统计每个 IP 地址的访问次数
(3)找出访问最频繁的 IP 地址
(4)统计不同状态码的数量
(5)将分析结果保存到文本文件
要求:
(1)日志格式示例:2026-01-01 10:00:00 192.168.1.1 200
(2)使用字典进行统计
(3)结果按访问次数降序排序
(4)主要变量:log_entries, ip_count, status_count
附:参考答案与解析
“点赞有美意,赞赏是鼓励”