第74卷 文件操作 《计算机编程基础—Python语言》安徽省(对口招生)《电子与信息大类(计算机类)考纲百套卷》

2026-08-08
| 2份
| 13页
| 31人阅读
| 0人下载

内容正文:

编写说明:2027版安徽省普通高校对口招生考试电子与信息大类(计算机类)专业《考纲百套卷》,依据《安徽省普通高校对口招生专业理论和技能测试考试纲要(2025年版)》编写。本专辑涵盖三个部分,第一部分为知识训练卷,第二部分为专题训练卷,第三部分为课程综合卷。本专辑共99份试卷,其中知识训练卷75份、专题训练卷17份、课程综合卷9份。 本试卷是第74卷,为知识训练卷,按《计算机编程基础—Python语言》中“文件操作”范围和要求编写。具体内容为:1.文件的打开和关闭(B)。2.文件的读写(C)。3.数据的格式化(D)。 安徽省对口招生考试 电子与信息大类(计算机类)《考纲百套卷》 第74卷 计算机编程基础—Python语言——文件操作 (考试时间:45分钟 满分:100分) 一、填空题(共10题,每题2分,共20分) 1.使用__________模块可读写CSV格式文件。 【答案】csv 【解析】csv模块提供reader()读取CSV行解析为列表、writer()写入CSV文件。需import csv导入。CSV是通用表格数据交换格式。 2.JSON数据写入文件前需用__________函数将Python对象转为字符串。 【答案】json.dumps() 【解析】json.dumps()负责把 Python 字典 / 列表等对象序列化成为 JSON 格式字符串;json.dump()直接将对象写入文件,无需中间字符串。对应反向解析:json.loads()字符串转对象、json.load()读取 JSON 文件。 3.文件操作中捕获异常的语句是__________。 【答案】try-except 【解析】使用try-except异常捕获结构包裹文件打开、读写代码,捕获文件不存在、权限不足等 IO 异常,避免程序直接崩溃;可搭配 else、finally 完善逻辑。 4.__________模式读写文件,__________模式写读文件。 【答案】r+、w+ 【解析】r+读写模式,文件必须提前存在,支持读取 + 覆盖写入;w+可读可写,打开时直接清空原有文件,文件不存在则新建。 5.使用__________模块可操作文件和目录(创建/删除/重命名/路径拼接)。 【答案】os 【解析】os 模块提供文件、文件夹创建、删除、重命名、路径拼接、路径判断等系统级目录文件操作接口。 6.Python 3.4+推荐的路径操作库是__________。 【答案】pathlib 【解析】Python3.4 及以上官方推荐pathlib面向对象路径库,相比 os.path 写法更简洁,可快速获取文件名、后缀、上级路径等。 7.读取文件前n个字符用__________,跳过前n个字符用__________。 【答案】read(n)、seek(n) 【解析】read(n)读取文件前 n 个字符(文本模式);seek(n)移动文件指针偏移 n 字节,实现跳过开头 n 个字符读取内容。 8.格式化写入JSON时,__________参数可指定缩进实现美化输出。 【答案】indent 【解析】json.dump()/json.dumps()的indent参数设置缩进空格数,格式化排版 JSON,方便查看;ensure_ascii=False用来正常显示中文。 9.f=open("a.txt","w");os.remove("a.txt")后f对象仍然存在的现象说明__________。 【答案】文件对象和磁盘文件独立 【解析】os.remove()删除磁盘上的实体文件,但内存中的文件对象f依旧有效,只要未执行 close (),依然可以写入缓冲区内容,二者生命周期相互独立。 10.csv.reader的__________参数可指定分隔符,默认逗号。 【答案】delimiter 【解析】csv.reader 的delimiter参数自定义列分隔符号,默认以逗号,分割字段,适配制表符、竖线等特殊分隔 CSV 文件。 二、单项选择题(共15题,每题2分,共30分) 11.os.path.join("dir","file.txt")返回(  ) A.dir/file.txt B.dir\file.txt C.平台相关路径 D.dir 【答案】C 【解析】os.path.join自动适配Windows反斜杠\或Linux斜杠/。跨平台路径拼接推荐方式。 12.json.loads("{"a":1}")解析为(  ) A.字符串 B.字典 C.列表 D.报错 【答案】D 【解析】JSON字符串必须双引号。{"a":1}中单引号非法。正确:json.loads('{"a":1}')。常见陷阱。 13.f=open("t.txt","r+");f.read();f.write("x")(  ) A.文件尾追加x B.文件头覆盖 C.报错 D.清空后写 【答案】A 【解析】r+读写。read()后指针在末尾,write在末尾追加。若seek(0)后write则从开头覆盖。 14.f=open("t.txt","w");f.write("Hi");f.read()(  ) A.返回Hi B.返回空 C.报错 D.返回None 【答案】C 【解析】w模式只写不可读。read()引发UnsupportedOperation。需w+模式才能读。 15.二进制模式写bytes的正确用法(  ) A.open("f","w").write(b"hi") B.open("f","wb").write("hi") C.open("f","wb").write(b"hi") D.open("f","w").write("hi") 【答案】C 【解析】wb模式写入二进制数据。write参数必须是bytes类型。文本模式w写入str,默认编码转换。 16.f=open("t.txt","a+");f.seek(0);f.write("X")(  ) A.文件头写X B.文件尾写X C.报错 D.光标位置写 【答案】B 【解析】a+追加模式。seek可移动读指针但写入一定在文件末尾。Python保证追加语义。 17.os.path.exists(".")返回(  ) A.True B.False C.报错 D.None 【答案】A 【解析】.代表当前目录,始终存在。os.path.exists检查文件或目录是否存在。isfile/islink进一步区分类型。 18.f.flush()的作用(  ) A.关闭文件 B.清空内容 C.刷新缓冲区写入磁盘 D.删除文件 【答案】C 【解析】flush强制将缓冲区数据写入磁盘。write后数据可能缓冲未立即写入。close前自动flush。 19.Path("a/b/c.txt").suffix返回(  ) A.c B.txt C..txt D.c.txt 【答案】C 【解析】suffix返回后缀含点.。stem返回不含后缀的c。parent返回a/b。name返回c.txt。各部分解析路径。 20.f.write("中")后有f.tell()可能返回(  ) A.1 B.2 C.3 D.取决于编码 【答案】D 【解析】UTF-8中文占3字节tell返回3。GBK占2字节。tell返回字节偏移非字符数。write返回字符数。 21.除零异常的except类型(  ) A.OSError B.ZeroDivisionError C.FileNotFoundError D.RuntimeError 【答案】B 【解析】ZeroDivisionError是除零异常。open文件不存在是FileNotFoundError(OSError子类)。 22.json.dump中文默认(  ) A.保留中文 B.转义为\\u C.二进制 D.忽略 【答案】B 【解析】json.dump默认ensure_ascii=True转义非ASCII。中文变\\uXXXX。设置False保留原文。 23.f.truncate(100)的作用(  ) A.读100字符 B.文件截断为100字节 C.跳过100字节 D.报错 【答案】B 【解析】truncate截断文件到指定大小。f.truncate()截断到当前位置。需写权限。超出现有大小扩展为零填充。 24.with open() as f后f.closed属性(  ) A.True B.False C.None D.不一定 【答案】A 【解析】with块退出后自动close(),f.closed为True。with块内为False。try-finally也需手动close。 25.open("f","x")模式的作用(  ) A.独占创建 B.读 C.写 D.追加 【答案】A 【解析】x模式Python3.3+排他创建。文件存在则FileExistsError。原子性保证避免竞争条件。安全创建新文件。 三、程序分析题(共3题,每题6分,共18分) 26.import ______ data={"name":"张三","scores":[85,92,78]} with open("data.json","w",encoding="utf-8") as f: ______.______(data,f,ensure_ascii=False,indent=2) 【答案】(1)json(2分);(2)json(2分);(3)dump(2分)。 【解析】json.dump将Python对象序列化写入文件。ensure_ascii=False保留中文,indent=2缩进格式化输出可读性好。 27.import csv data=[["姓名","成绩"],["张三","85"],["李四","92"]] with open("scores.csv","w") as f: w=csv.writer(f) for row in data: w.write(row) 【答案】(1)csv.writer的writerow方法不是write,应改为w.writerow(row)(3分);(2)缺少newline参数,应open("scores.csv","w",newline="")避免Windows多余空行(3分)。 【解析】csv.writer用writerow写入单行,writelines写多行。Windows下需newline=""防止csv模块自动换行与系统换行叠加。 28.import json data={"a":[1,2],"b":{"c":3}} s=json.dumps(data) d2=json.loads(s) print(s[0]) print(type(d2)) print(d2["b"]["c"]) with open("test.json","w") as f: json.dump(data,f) import os print(os.path.getsize("test.json")) 【答案】{ <class 'dict'> 3 15 【解析】dumps返回JSON字符串首字符{。loads解析回dict。d2["b"]["c"]=3。dump写入文件后getsize获取文件大小字节数(具体值取决于数据长度)。 四、程序设计题(3题,29/30各6分/31各8分) 29.读取CSV文件scores.csv(含表头:姓名,语文,数学),计算每位学生的总分,写入result.csv(增加总分列)。样例:scores.csv含张三,85,92→result.csv张三,85,92,177 【答案】import csv rows=[] with open('scores.csv','r',newline='',encoding='utf-8') as f: r=csv.reader(f) header=next(r) header.append('总分');rows.append(header) for row in r: total=sum(int(x) for x in row[1:]) row.append(str(total));rows.append(row) with open('result.csv','w',newline='',encoding='utf-8') as f: w=csv.writer(f) w.writerows(rows) 【解析】csv.reader读取,next取表头跳过。遍历每行,sum+生成器表达式计算总分并追加str。writerows一次写入所有行。 30.读取JSON配置文件config.json,修改其中的debug值为True并保存。若文件不存在创建默认配置。 【答案】import json,os config={'debug':False,'version':'1.0'} if os.path.exists('config.json'): with open('config.json','r',encoding='utf-8') as f: config=json.load(f) config['debug']=True with open('config.json','w',encoding='utf-8') as f: json.dump(config,f,indent=2,ensure_ascii=False) 【解析】先检查文件存在则读取。修改debug键。dump写回。indent缩进美化,ensure_ascii=False保中文。读-改-写标准流程。 31.编写程序合并两个文本文件 a.txt和 b.txt的内容写入 c.txt,每个文件内容之间用====分隔。使用try-except处理文件不存在异常。 【答案】files=['a.txt','b.txt'] with open('c.txt','w',encoding='utf-8') as out: for fn in files: try: with open(fn,'r',encoding='utf-8') as f: out.write(f.read()) except FileNotFoundError: out.write(f'[{fn}不存在] ') if fn!=files[-1]: out.write(' ==== ') print('合并完成') 【解析】遍历文件列表,try捕捉不存在异常写入提示。f.read()全文读取写入输出。最后加分隔符(最后一个文件不加)。except使程序不因单个文件缺失中断。 五、综合应用题(共1题,每题12分,共12分) 32.设计日志分析系统:读取日志文件app.log,统计各日志级别(INFO/WARNING/ERROR)的数量,ERROR日志单独写入error.log,结果输出为JSON格式的report.json。使用csv/json/os模块综合实现。样例app.log含多行[INFO]xxx,[ERROR]yyy→report.json含统计{INFO:10,WARNING:5,ERROR:3} 【答案】import json,os if not os.path.exists('app.log'): print('文件不存在');exit() counts={'INFO':0,'WARNING':0,'ERROR':0} errors=[] with open('app.log','r',encoding='utf-8') as f: for line in f: for level in counts: if f'[{level}]' in line: counts[level]+=1 if level=='ERROR': errors.append(line.strip()) break with open('error.log','w',encoding='utf-8') as f: f.write(' '.join(errors)) with open('report.json','w',encoding='utf-8') as f: json.dump(counts,f,indent=2,ensure_ascii=False) print('分析完成,统计:'+str(counts)) 【解析】逐行扫描日志检查各级别标签。ERROR行收集到列表。join写入error.log。统计字典dump到JSON。综合文件检查+逐行读取+分类统计+多格式输出。 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $ 编写说明:2027版安徽省普通高校对口招生考试电子与信息大类(计算机类)专业《考纲百套卷》,依据《安徽省普通高校对口招生专业理论和技能测试考试纲要(2025年版)》编写。本专辑涵盖三个部分,第一部分为知识训练卷,第二部分为专题训练卷,第三部分为课程综合卷。本专辑共99份试卷,其中知识训练卷75份、专题训练卷17份、课程综合卷9份。 本试卷是第74卷,为知识训练卷,按《计算机编程基础—Python语言》中“文件操作”范围和要求编写。具体内容为:1.文件的打开和关闭(B)。2.文件的读写(C)。3.数据的格式化(D)。 安徽省对口招生考试 电子与信息大类(计算机类)《考纲百套卷》 第74卷 计算机编程基础—Python语言——文件操作 (考试时间:45分钟 满分:100分) 一、填空题(共10题,每题2分,共20分) 1.使用__________模块可读写CSV格式文件。 2.JSON数据写入文件前需用__________函数将Python对象转为字符串。 3.文件操作中捕获异常的语句是__________。 4.__________模式读写文件,__________模式写读文件。 5.使用__________模块可操作文件和目录(创建/删除/重命名/路径拼接)。 6.Python 3.4+推荐的路径操作库是__________。 7.读取文件前n个字符用__________,跳过前n个字符用__________。 8.格式化写入JSON时,__________参数可指定缩进实现美化输出。 9.f=open("a.txt","w");os.remove("a.txt")后f对象仍然存在的现象说明__________。 10.csv.reader的__________参数可指定分隔符,默认逗号。 二、单项选择题(共15题,每题2分,共30分) 11.os.path.join("dir","file.txt")返回(  ) A.dir/file.txt B.dir\file.txt C.平台相关路径 D.dir 12.json.loads("{"a":1}")解析为(  ) A.字符串 B.字典 C.列表 D.报错 13.f=open("t.txt","r+");f.read();f.write("x")(  ) A.文件尾追加x B.文件头覆盖 C.报错 D.清空后写 14.f=open("t.txt","w");f.write("Hi");f.read()(  ) A.返回Hi B.返回空 C.报错 D.返回None 15.二进制模式写bytes的正确用法(  ) A.open("f","w").write(b"hi") B.open("f","wb").write("hi") C.open("f","wb").write(b"hi") D.open("f","w").write("hi") 16.f=open("t.txt","a+");f.seek(0);f.write("X")(  ) A.文件头写X B.文件尾写X C.报错 D.光标位置写 17.os.path.exists(".")返回(  ) A.True B.False C.报错 D.None 18.f.flush()的作用(  ) A.关闭文件 B.清空内容 C.刷新缓冲区写入磁盘 D.删除文件 19.Path("a/b/c.txt").suffix返回(  ) A.c B.txt C..txt D.c.txt 20.f.write("中")后有f.tell()可能返回(  ) A.1 B.2 C.3 D.取决于编码 21.除零异常的except类型(  ) A.OSError B.ZeroDivisionError C.FileNotFoundError D.RuntimeError 22.json.dump中文默认(  ) A.保留中文 B.转义为\\u C.二进制 D.忽略 23.f.truncate(100)的作用(  ) A.读100字符 B.文件截断为100字节 C.跳过100字节 D.报错 24.with open() as f后f.closed属性(  ) A.True B.False C.None D.不一定 25.open("f","x")模式的作用(  ) A.独占创建 B.读 C.写 D.追加 三、程序分析题(共3题,每题6分,共18分) 26.import ______ data={"name":"张三","scores":[85,92,78]} with open("data.json","w",encoding="utf-8") as f: ______.______(data,f,ensure_ascii=False,indent=2) 27.import csv data=[["姓名","成绩"],["张三","85"],["李四","92"]] with open("scores.csv","w") as f: w=csv.writer(f) for row in data: w.write(row)   28.import json data={"a":[1,2],"b":{"c":3}} s=json.dumps(data) d2=json.loads(s) print(s[0]) print(type(d2)) print(d2["b"]["c"]) with open("test.json","w") as f: json.dump(data,f) import os print(os.path.getsize("test.json"))   四、程序设计题(3题,29/30各6分/31各8分) 29.读取CSV文件scores.csv(含表头:姓名,语文,数学),计算每位学生的总分,写入result.csv(增加总分列)。样例:scores.csv含张三,85,92→result.csv张三,85,92,177   30.读取JSON配置文件config.json,修改其中的debug值为True并保存。若文件不存在创建默认配置。   31.编写程序合并两个文本文件 a.txt和 b.txt的内容写入 c.txt,每个文件内容之间用====分隔。使用try-except处理文件不存在异常。   五、综合应用题(共1题,每题12分,共12分) 32.设计日志分析系统:读取日志文件app.log,统计各日志级别(INFO/WARNING/ERROR)的数量,ERROR日志单独写入error.log,结果输出为JSON格式的report.json。使用csv/json/os模块综合实现。样例app.log含多行[INFO]xxx,[ERROR]yyy→report.json含统计{INFO:10,WARNING:5,ERROR:3}   原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $

资源预览图

第74卷 文件操作 《计算机编程基础—Python语言》安徽省(对口招生)《电子与信息大类(计算机类)考纲百套卷》
1
第74卷 文件操作 《计算机编程基础—Python语言》安徽省(对口招生)《电子与信息大类(计算机类)考纲百套卷》
2
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。