下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
习题12一、选择题1.下列关于文件路径的说法中,正确的是()。A.Windows中的路径分隔符只能写成""B.Linux系统不能使用相对路径C."./data/file.txt"表示当前目录下的data文件夹中的file.txtD.绝对路径和相对路径没有区别2.关于open()函数,下列说法正确的是()。A.open()打开文件失败时返回NoneB.open(file,mode='r')表示以二进制写入模式打开文件C.open()默认编码是UTF-32D.open(file,'r')表示以文本读取方式打开文件3.下列哪项不会自动关闭文件?()A.close() B.withopen(...)asfC.程序结束自动回收 D.变量被重新赋值后原文件自动关闭4.关于read()、readline()、readlines()下列说法正确的是()。A.read()一次只读一行 B.readline()一次读取全部内容C.readlines()返回一个字符串列表 D.这三个方法功能完全相同5.文件指针位置可以通过下列哪组方法控制?()。A.tell()与seek() B.read()与write() C.open()与close() D.input()与print()6.下列哪项关于JSON数据格式的描述是正确的?()A.JSON仅支持整数类型 B.JSON中对象对应Python中的dictC.JSON不支持嵌套结构 D.JSON文件必须以.js为后缀二、编程题1.读取文本文件story.txt内容,逐行打印内容,并打印行号。2.统计文本文件字符数、单词数和行数。提示:用空格分隔单词。3.读取文件,统计出现次数最多的单词,忽略大小写与标点,如“Hello”与“hello”视为同一个单词。4.将一个列表写入文件(每个元素一行):names=["Alice","Bob","Charlie"],写入names.txt。5.反向读取文件内容,将文件中的所有行倒序输出至屏幕。6.使用pathlib模块找出某个文件夹中所有.txt文件并打印其绝对路径。7.读取CSV文件,打印每行的第2列,若某行列数不足2,则跳过。8.将一个Python字典保存为JSON文件。例如:data={"name":"Tom","age":20,"courses":["Math","Python"]}写入data.json。然后读取这个JSON文件并使用缩进indent=4打印格式化后的JSON数据。一、选择题答案+解析答案:C解析:Windows路径可写\或/;所有系统都支持相对路径;绝对、相对路径概念不同。答案:D解析:r是文本只读模式;打开失败会抛异常,默认编码不是UTF-32,w才是写入模式。答案:D解析:文件对象重新赋值不会自动关闭文件;close()、with语句、程序结束都会关闭文件。答案:C解析:read()读取全部内容;readline()读取一行;readlines()按行读取,返回字符串列表。答案:A解析:tell()获取文件指针位置,seek()移动文件指针。答案:B解析:JSON支持多种类型、可嵌套;JSON文件后缀一般为.json,JSON对象对应Python字典。二、编程题(Python代码)1.读取文件,逐行打印并输出行号withopen("story.txt","r",encoding="utf-8")asf:foridx,lineinenumerate(f,start=1):print(f"第{idx}行:{line.strip()}")2.统计文件行数、单词数、字符数(空格分隔单词)withopen("story.txt","r",encoding="utf-8")asf:content=f.read()lines=content.splitlines()line_count=len(lines)char_count=len(content)#按空格分割统计单词word_list=content.split()word_count=len(word_list)print(f"行数:{line_count}")print(f"字符数:{char_count}")print(f"单词数:{word_count}")3.统计出现次数最多的单词(忽略大小写、标点)importstringwithopen("story.txt","r",encoding="utf-8")asf:text=f.read()#去除标点、转小写trans=str.maketrans("","",string.punctuation)text=text.translate(trans).lower()words=text.split()word_dict={}forwinwords:word_dict[w]=word_dict.get(w,0)+1#取次数最多的单词max_word=max(word_dict,key=word_dict.get)max_num=word_dict[max_word]print(f"出现最多的单词:{max_word},次数:{max_num}")4.列表逐行写入names.txtnames=["Alice","Bob","Charlie"]withopen("names.txt","w",encoding="utf-8")asf:fornameinnames:f.write(name+"\n")5.文件行内容倒序输出withopen("names.txt","r",encoding="utf-8")asf:lines=f.readlines()#倒序遍历forlineinreversed(lines):print(line.strip())6.pathlib查找文件夹下所有.txt文件并输出绝对路径frompathlibimportPath#替换为你的目标文件夹路径folder_path=Path("./")#遍历所有txt文件txt_files=folder_path.rglob("*.txt")forfileintxt_files:print(file.absolute())7.读取CSV文件,输出每行第2列,列数不足则跳过importcsvwithopen("test.csv","r",encoding="utf-8")asf:reader=csv.reader(f)forrowinreader:iflen(row)>=2:print(row[1])8.字典写入JSON文件+读取并格式化输出importjsondata={"name":"Tom","age":20,"courses":["Math","Python"]}#写入json文件withopen("data.json","w",encoding="utf-8")asf:json.dump(data,f,ensure
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 金属矿山主要负责人检修维修安全操作规程
- 2026宣传形式面试题目及答案
- 2026业务检查员面试题及答案
- 2026音乐公招面试题目及答案
- 2026乳制品深加工产业园区行业市场现状供需分析及投资评估规划分析研究报告
- 2026年职工思想政治调查研究报告(3篇)
- 2026汽车行业市场深度剖析未来发展路径投资规划报告
- 2026中国投资咨询行业市场现状分析竞争投资评估规划研究
- 2027届红原县三上数学期末达标检测试题含解析
- 2026Fast芯片组行业消费者认知度与品牌建设研究
- DBJ51T 175-2021 四川省玄武岩纤维及其复合材料应用技术标准
- 《浙江省环境污染防治工程专项设计服务能力评价指南》
- 医疗器械采购、配置、验收与使用管理制度
- 侵权责任法护理内容
- 可上传班级管理(一到三章)李学农主编
- 浙江省中小学心理健康教育课程标准
- DL-T5169-2013水工混凝土钢筋施工规范
- 日立中央空调VAMII设计培训手册
- 彩色多普勒超声诊断仪投标方案(技术标)
- 社区工作考试公共基础知识试题及答案
- Python商务数据分析与实战PPT完整全套教学课件
评论
0/150
提交评论