内容正文:
6.7文件和数据单元总结
一、选择题
1.Python 获取文件对象 f 名称属性的操作代码为 ( )。
A. f.mode B. f.closed C. f.encoding D. f.name
【答案】D
【解析】 f.name 返回文件对象对应的文件名; f.mode 是打开模式, f.closed 表示文件是否关闭, f.encoding 是文件编码方式。
2.以读写模式打开二进制文件的 <打开模式> 参数为 ( )。
A. rt+ B. wb+ C. xb+ D. x+
【答案】B
【解析】 wb+ 表示读写二进制文件; rt+ 是读写文本文件, xb+ / x+ 是创建新文件并读写。
3.下列代码的执行结果是 ( )。
f = open("lianxi.txt", "r+")
s = "1234567890"
f.write(s)
f.seek(2)
a = f.read(3)print(a)
A. 123 B. 234 C. 345 D. 456
【答案】C
【解析】写入 1234567890 后, seek(2) 将指针移到第3个字符位置(索引2), read(3) 读取后续3个字符,即 345 。
4.在 IDLE 命令行窗口执行如下命令,最后一行操作命令的执行结果是 ( )。
>>> f = open("lianxi.txt", "r+") # 为操作提示符
>>>...... # 表示执行了多项操作
>>>...... f.tell() # 显示的结果值为20
>>> f.seek(-6,1) # 其显示的结果是?
A. 14 B. 20 C. 26 D. 出错提示
【答案】A
【解析】seek(-6,1) 表示从当前位置(20)向前移动6个字节,结果为14。
5.下列选项中不属于二进制文件的是 ( )。
A. HTML 文件 B. 动画文件 C. 音频文件 D. WORD 文件
【答案】A
【解析】HTML文件是纯文本文件,以字符编码存储;动画、音频、WORD文件均为二进制文件。
6.格式化数据一般表现为一维数据、二维数据和 ( )。
A. 多维数据 B. 高维数据 C. 三维数据 D. CSV 数据
【答案】A
【解析】格式化数据常见分类为一维、二维和多维数据,高维/三维都属于多维的范畴。
7.在 Python 中,( ) 函数用于定义数据库游标对象。
A. connect () B. execute () C. cursor () D. close ()
【答案】C
【解析】 cursor() 是连接对象的方法,用于创建游标对象; connect() 建立连接, execute() 执行SQL, close() 关闭对象。
8.sqlite3 是 Python 连接数据库的内置模块,支持 ( ) 数据库系统。
A. 关系 B. 层次 C. 网状 D. 网络
【答案】A
【解析】sqlite3是轻量级的关系型数据库,支持关系数据库系统的核心特性。
9.下列选项中不属于数据操作的 SQL 语句的是 ( )。
A. INSERT B. CREATE C. UPDATE D. DELETE
【答案】B
【解析】 CREATE 属于数据定义语句(用于建表/库); INSERT 、 UPDATE 、 DELETE 是数据操作语句。
10.fetchmany () 结果的数据类型是 ()。
A. 集合 B. 元组 C. 列表 D. 字典
【答案】C
【解析】 fetchmany() 返回指定数量的查询结果,以列表形式存储,每个元素是一条记录的元组。
11.SELECT 语句条件查询关键字为 ( )。
A. WHERE B. GROUP BY C. ORDER BY D. HAVING
【答案】A
【解析】 WHERE 用于设置SELECT查询的条件; GROUP BY 分组, ORDER BY 排序, HAVING 过滤分组结果。
12.sqlite3 执行 ALTER 语句可以实现 ( ) 数据列表。
A. 删除 B. 增加 C. 修改 D. 更新
【答案】C
【解析】sqlite3中 ALTER TABLE 语句主要用于修改数据表结构(如重命名表、添加列),核心是“修改”数据表。
二、判断题
1.在 Python 中,文件路径的分隔符可以使用 “\”。( )
【答案】×
【解析】Python中Windows系统的文件路径分隔符是 \ ,但需转义为 \\ 或使用原始字符串 r"路径" ,直接用 \ 会触发转义错误。
2.Python 使用代码 f.closed 释放文件对象 f。( )
【答案】×
【解析】 f.closed 是属性,用于判断文件是否关闭,释放文件对象需调用 f.close() 方法。
3.Python 文件操作不能使用 “\” 作为分隔符。( )
【答案】√
【解析】Python文件操作中,\会被认为转义字符 。
4.文本文件对象 f 的代码 f.seek (0,2) 将指针移动到文件首。( )
【答案】×
【解析】 f.seek(0,2) 中第二个参数2表示文件尾,该代码将指针移到文件末尾;移到文件首是 f.seek(0,0) 。
5.打开二进制文件不能使用 encoding 参数。( )
【答案】√
【解析】二进制文件以字节流处理,无需指定编码, encoding 参数仅用于文本文件打开时。
6.列表是常见的二维数据。( )
【答案】×
【解析】列表是一维数据结构,二维列表(列表嵌套)才是常见的二维数据表现形式。
7.Python 只能通过 sqlite3 模块连接数据库。( )
【答案】×
【解析】Python可通过 pypyodbc 、 pymysql 等多个模块连接不同数据库,并非只能用sqlite3。
8.应用 sqlite3.connect () 可以创建数据库文件。()
【答案】√
【解析】 sqlite3.connect("数据库名.db") 若指定的数据库文件不存在,会自动创建该文件。
9.sqlite3 执行 SELECT 可以进行数据查询。( )
【答案】√
【解析】 SELECT 是SQL的查询语句,通过sqlite3的游标执行该语句可实现数据查询。
10.sqlite3 执行 INSERT 语句可以在数据表中任何位置插入数据记录。( )
【答案】×
【解析】sqlite3的 INSERT 语句默认将数据插入到数据表末尾,无法直接指定任意
三、编程题
1.编程完成以下操作:创建文本文件 “shici.txt”,录入数据。文件内容为诗词《沁园春・雪》。
【答案】:
01 file_shici=open('shici.txt','x+')
02 snow=['北国风光,千里冰封,万里雪飘。
',\
'望长城内外,惟余莽莽;大河上下,顿失滔滔。
',\
'山舞银蛇,原驰蜡象,欲与天公试比高。
',\
'须晴日,看红装素裹,分外妖娆。
',\
'江山如此多娇,引无数英雄竞折腰。
',\
'惜秦皇汉武,略输文采;唐宗宋祖,稍逊风骚。
',\
'一代天骄,成吉思汗,只识弯弓射大雕。
',\
'俱往矣,数风流人物,还看今朝。
']
03 file_shici.writelines(snow)
04 file_shici.seek(0)
05 f=file_shici.read()
06 print(f)
07 file_shici.close()
2.编程实现逐行输出文本文件 “shici.txt” 的数据内容。
【答案】:
01 file_shici=open('shici.txt','r') #以只读方式打开文件shici.txt
02 while True: #永真循环
03 a= file_shici.readline() #读文件中的一行
04 if a: #不为空
05 print(a,end='') #输出该行,end=''不输出空白行
06 else: #为空
07 break #退出永真循环
08 file_shici.close() #关闭文件
3.编程实现下列功能:建立班级数据库,按科目建立数据表,用于保存各科目成绩。
【答案】:
01 import sqlite3
02 bj=sqlite3.connect('bjda.db')
03 km=[yuwen,shuxue,yinyu,zhuanye1,zhuanye2,zhuanye3]
04 for i in km:
05 s='create table {kmbm} (学号 TEXT,姓名 TEXT,\
平时 INTEGER,期中 INTEGER,期末 INTEGER,\
成绩 INTEGER'.format(kmbm=i)
06 bj_cur=bj.cursor()
07 bj_cur.execute(s)
08 bj_cur.close()
09 bj.close()
4.编程完成班级数据库各数据表的数据统计:班级各科目的总分 / 平均分和个人的总分 / 平均分。
【答案】:
01 import sqlite3
02 bj=sqlite3.connect('bjda.db')
03 km=[yuwen,shuxue,yinyu,zhuanye1,zhuanye2,zhuanye3]
04 for i in km:
05 s='select SUM(成绩),AVG(成绩) from {kmbm}'.format(kmbm=i)
06 bj_cur=bj.cursor()
07 cj=bj_cur.execute(s)
08 cj_jg=bj_cur.fetchone()
09 print(i,cj_jg)
bj_cur.close()
11 stu_name=input('请输入为为学生姓名:')
12 stu_cj=[]
13 for i in km:
14 s='select 成绩 from {kmbm} where 姓名={name}\
'.format(kmbm=i,name=stu_name)
15 bj_cur=bj.cursor()
16 cj=bj_cur.execute(s)
17 cj_jg=bj_cur.fetchone()
18 stu_cj=stu_cj+cj_jg
19 bj_cur.close()
20 stu_zf=sum(stu_cj)
21 stu_pjf=sum(stu_cj)/len(km)
22 print(stu_name,stu_zf,stu_pjf)
23 bj.close()
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$
6.7文件和数据单元总结
一、选择题
1.Python 获取文件对象 f 名称属性的操作代码为 ( )。
A. f.mode B. f.closed C. f.encoding D. f.name
2.以读写模式打开二进制文件的 <打开模式> 参数为 ( )。
A. rt+ B. wb+ C. xb+ D. x+
3.下列代码的执行结果是 ( )。
f = open("lianxi.txt", "r+")
s = "1234567890"
f.write(s)
f.seek(2)
a = f.read(3)print(a)
A. 123 B. 234 C. 345 D. 456
4.在 IDLE 命令行窗口执行如下命令,最后一行操作命令的执行结果是 ( )。
>>> f = open("lianxi.txt", "r+") # 为操作提示符
>>>...... # 表示执行了多项操作
>>>...... f.tell() # 显示的结果值为20
>>> f.seek(-6,1) # 其显示的结果是?
A. 14 B. 20 C. 26 D. 出错提示
5.下列选项中不属于二进制文件的是 ( )。
A. HTML 文件 B. 动画文件 C. 音频文件 D. WORD 文件
6.格式化数据一般表现为一维数据、二维数据和 ( )。
A. 多维数据 B. 高维数据 C. 三维数据 D. CSV 数据
7.在 Python 中,( ) 函数用于定义数据库游标对象。
A. connect () B. execute () C. cursor () D. close ()
8.sqlite3 是 Python 连接数据库的内置模块,支持 ( ) 数据库系统。
A. 关系 B. 层次 C. 网状 D. 网络
9.下列选项中不属于数据操作的 SQL 语句的是 ( )。
A. INSERT B. CREATE C. UPDATE D. DELETE
10.fetchmany () 结果的数据类型是 ()。
A. 集合 B. 元组 C. 列表 D. 字典
11.SELECT 语句条件查询关键字为 ( )。
A. WHERE B. GROUP BY C. ORDER BY D. HAVING
12.sqlite3 执行 ALTER 语句可以实现 ( ) 数据列表。
A. 删除 B. 增加 C. 修改 D. 更新
二、判断题
1.在 Python 中,文件路径的分隔符可以使用 “\”。( )
2.Python 使用代码 f.closed 释放文件对象 f。( )
3.Python 文件操作不能使用 “\” 作为分隔符。( )
4.文本文件对象 f 的代码 f.seek (0,2) 将指针移动到文件首。( )
5.打开二进制文件不能使用 encoding 参数。( )
6.列表是常见的二维数据。( )
7.Python 只能通过 sqlite3 模块连接数据库。( )
8.应用 sqlite3.connect () 可以创建数据库文件。()
9.sqlite3 执行 SELECT 可以进行数据查询。( )
10.sqlite3 执行 INSERT 语句可以在数据表中任何位置插入数据记录。( )
三、编程题
1.编程完成以下操作:创建文本文件 “shici.txt”,录入数据。文件内容为诗词《沁园春・雪》。
2.编程实现逐行输出文本文件 “shici.txt” 的数据内容。
3.编程实现下列功能:建立班级数据库,按科目建立数据表,用于保存各科目成绩。
4.编程完成班级数据库各数据表的数据统计:班级各科目的总分 / 平均分和个人的总分 / 平均分。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$