内容正文:
编写说明:安徽省普通高校对口招生专业理论和技能测试考试电子与信息大类《计算机编程基础—Python 语言考点双析卷》,依据《安徽省普通高校对口招生专业理论和技能测试考试纲要》编写。“考点双析卷”即围绕一个考点,一份是老师的讲解卷一份是学生的练习卷。助力师生构建 “讲练结合” 的学习闭环,适用于高考复习教学。
本专辑第51、第52卷精准对标安徽省考纲,知识模块(五)文件与数据:
1. 文件操作
2. 数据库的使用
安徽省分类招生和对口招生考试 电子与信息大类
《计算机编程基础—Python 语言》考点双析卷 第51卷
文件(2) 老师讲解卷
时间:45分钟 总分:100分
班级_______ 姓名_______ 学号_______ 成绩_______
一、单项选择题(本大题共10小题,每题3分,共30分)
1.执行以下代码后,f.closed的值是( )
f = open("test.txt", "r")
print(f.closed)
A.True B.False C.0 D.报错
2.使用'w+'模式打开文件时,以下描述正确的是( )
A.文件必须存在,否则报错 B.文件不存在时会自动创建
C.只能写入不能读取 D.指针初始位置在文件末尾
3.以下哪种模式适合修改文件中间部分的内容( )
A.'r' B.'w' C.'a' D.'r+'
4.执行以下代码后,文件test.txt的内容是( )
with open("test.txt", "a") as f:
f.write("A")
f.seek(0)
f.write("B")
原文件内容为空。
A.AB B.BA C.B D.A
5.若要以可读可写方式打开文件且不覆盖原内容,应使用哪种模式( )
A.'r+' B.'w+' C.'a+' D.'x+'
6.使用open()函数打开文件时,以下必需的参数是( )
A.mode B.encoding C.文件路径 D.buffering
7.文件对象的writelines()方法接受的参数类型是( )
A.字符串 B.字典 C.列表 D.元组
8.以下代码的输出是( )
with open("test.txt", "r") as f:
f.seek(6)
print(f.read(5))
文件内容为"HelloWorldPython"。
A.World B.WorldP C.Python D.Worl
9.若要以二进制模式追加写入文件,正确的打开模式是( )
A.'ab' B.'wb' C.'rb+' D.'a+'
10.执行f = open("test.txt", "r")后,以下操作会报错的是( )
A.f.read() B.f.write("Hi") C.f.close() D.f.tell()
二、填空题(本大题共5小题,每题4分,共20分)
11.数据表的操作中获得全部查询结果,使用__________的方法。
12.在文件打开模式后面加"b"表示__________。
13.sqlite3数据库中将一个字段设置为主键使用属性__________。
14.使用__________函数打开文件。
15.操作sqlite3数据库中执行sql语句使用函数__________。
三、程序设计题(本大题共5小题,每题10分,共50分)
16.编写程序,打开一个文本文件,实现以下功能:查找文件中第一个出现的特定单词"Java"
用新单词"Python"替换该单词,显示替换前后的文件内容。
17.编写程序,使用with语句打开一个文本文件,找出文件中最长的一行并输出该行内容和长度。
18.编写程序,使用with语句打开一个文本文件,统计文件中的单词数量并输出。
19.写一个程序,比较两个文件(f1和f2)的内容。如果文件完全相同,输出“OK!”,否则输出“NO!”。
20.编写程序,读取一个文本文件,实现以下功能:使用tell()记录文件开头位置,读取前10个字符并显示。
使用seek()移动到文件末尾,记录文件大小使用seek()移动到文件中间位置,读取并显示中间10个字符。
将所有定位信息和读取的内容输出到屏幕。
试卷第6页,共6页
试卷第5页,共6页
学科网(北京)股份有限公司
$
编写说明:安徽省普通高校对口招生专业理论和技能测试考试电子与信息大类《计算机编程基础—Python 语言考点双析卷》,依据《安徽省普通高校对口招生专业理论和技能测试考试纲要》编写。“考点双析卷”即围绕一个考点,一份是老师的讲解卷一份是学生的练习卷。助力师生构建 “讲练结合” 的学习闭环,适用于高考复习教学。
本专辑第51、第52卷精准对标安徽省考纲,知识模块(五)文件与数据:
1. 文件操作
2. 数据库的使用
安徽省分类招生和对口招生考试 电子与信息大类
《计算机编程基础—Python 语言》考点双析卷 第51卷
文件(2) 老师讲解卷
时间:45分钟 总分:100分
班级_______ 姓名_______ 学号_______ 成绩_______
一、单项选择题(本大题共10小题,每题3分,共30分)
1.执行以下代码后,f.closed的值是( )
f = open("test.txt", "r")
print(f.closed)
A.True B.False C.0 D.报错
【答案】B
【详解】文件未关闭时,f.closed返回False;只有在调用f.close()或使用with语句后才会变为True。
2.使用'w+'模式打开文件时,以下描述正确的是( )
A.文件必须存在,否则报错 B.文件不存在时会自动创建
C.只能写入不能读取 D.指针初始位置在文件末尾
【答案】B
【详解】'w+'模式允许读写,若文件不存在则创建,但打开时会清空文件内容。
3.以下哪种模式适合修改文件中间部分的内容( )
A.'r' B.'w' C.'a' D.'r+'
【答案】D
【详解】'r+'允许读写且指针可自由移动,适合修改文件中间内容;'w'和'a'无法灵活调整指针。
4.执行以下代码后,文件test.txt的内容是( )
with open("test.txt", "a") as f:
f.write("A")
f.seek(0)
f.write("B")
原文件内容为空。
A.AB B.BA C.B D.A
【答案】A
【详解】'a'模式写入时指针始终在文件末尾,f.seek(0)无效,因此两次写入结果为"AB"。
5.若要以可读可写方式打开文件且不覆盖原内容,应使用哪种模式( )
A.'r+' B.'w+' C.'a+' D.'x+'
【答案】C
【详解】'r+','w+'允许读写且覆盖原内容,'a+'允许读写不覆盖原内容。
6.使用open()函数打开文件时,以下必需的参数是( )
A.mode B.encoding C.文件路径 D.buffering
【答案】C
【详解】open()函数必须指定文件路径。
7.文件对象的writelines()方法接受的参数类型是( )
A.字符串 B.字典 C.列表 D.元组
【答案】C
【详解】writelines() 方法接受一个字符串列表,例如 ["line1
", "line2
"]。
8.以下代码的输出是( )
with open("test.txt", "r") as f:
f.seek(6)
print(f.read(5))
文件内容为"HelloWorldPython"。
A.World B.WorldP C.Python D.Worl
【答案】A
【详解】seek(6)将指针移动到第6个字符('W'),read(5)读取后续5个字符"World"。
9.若要以二进制模式追加写入文件,正确的打开模式是( )
A.'ab' B.'wb' C.'rb+' D.'a+'
【答案】A
【详解】'a'表示追加模式,加上'b'表示二进制模式,因此'ab'是正确答案。
10.执行f = open("test.txt", "r")后,以下操作会报错的是( )
A.f.read() B.f.write("Hi") C.f.close() D.f.tell()
【答案】B
【详解】'r'模式禁止写入操作,调用 f.write()会引发io.UnsupportedOperation错误。
二、填空题(本大题共5小题,每题4分,共20分)
11.数据表的操作中获得全部查询结果,使用__________的方法。
【答案】fetchall( )
12.在文件打开模式后面加"b"表示__________。
【答案】二进制模式
13.sqlite3数据库中将一个字段设置为主键使用属性__________。
【答案】primary key
14.使用__________函数打开文件。
【答案】open( )
15.操作sqlite3数据库中执行sql语句使用函数__________。
【答案】execute( )
三、程序设计题(本大题共5小题,每题10分,共50分)
16.编写程序,打开一个文本文件,实现以下功能:查找文件中第一个出现的特定单词"Java"
用新单词"Python"替换该单词,显示替换前后的文件内容。
【答案】f=open("example.txt",'r+')
cont = f.read()
ncont=cont.replace('Java','Python',1)
f.seek(0)
f.write(ncont)
print("替换后的文件内容:
",ncont)
f.close()
17.编写程序,使用with语句打开一个文本文件,找出文件中最长的一行并输出该行内容和长度。
【答案】with open('your_file.txt', 'r', encoding='utf-8') as file:
longest_line = ""
max_length = 0
for line in file:
line_length = len(line.rstrip('
'))
if line_length > max_length:
max_length = line_length
longest_line = line.rstrip('
')
print(f"最长行的长度: {max_length}")
print(f"最长行的内容: {longest_line}")
18.编写程序,使用with语句打开一个文本文件,统计文件中的单词数量并输出。
【答案】with open('your_file.txt', 'r', encoding='utf-8') as file:
content = file.read()
# 使用split()方法分割单词,可以添加更复杂的分割逻辑
words = content.split()
word_count = len(words)
print(f"文件总共有 {word_count} 个单词")
19.写一个程序,比较两个文件(f1和f2)的内容。如果文件完全相同,输出“OK!”,否则输出“NO!”。
【答案】with open('test1.txt', 'rb') as f1, open('test2.txt', 'rb') as f2:
content1 = f1.read()
content2 = f2.read()
if content1 == content2:
print("OK!")
else:
print("NO!")
20.编写程序,读取一个文本文件,实现以下功能:使用tell()记录文件开头位置,读取前10个字符并显示。
使用seek()移动到文件末尾,记录文件大小使用seek()移动到文件中间位置,读取并显示中间10个字符。
将所有定位信息和读取的内容输出到屏幕。
【答案】# 打开文件
file = open("example.txt", 'r')
# 记录文件开头位置
start_pos = file.tell()
print(f"文件开头位置: {start_pos}")
# 读取前10个字符
file.seek(0)
first_10 = file.read(10)
print(f"前10个字符: {first_10}")
# 移动到文件末尾,记录大小
file.seek(0, 2)
end_pos = file.tell()
print(f"文件大小: {end_pos} 字节")
# 移动到文件中间,读取10个字符
mid_pos = end_pos // 2
file.seek(mid_pos)
mid_10 = file.read(10)
print(f"中间位置({mid_pos})的10个字符: {mid_10}")
# 关闭文件
file.close()
试卷第6页,共6页
试卷第5页,共6页
学科网(北京)股份有限公司
$