头歌:Python开发技术—文件和异常3( 答案+详细注释)第1关:读取文件内容+第2关:素数写入文件+第3关:输出文件目录+第4关:读写json文件
创始人
2025-05-31 23:34:27
0

自己敲一遍这个代码,注释我写的超级详细,一定可以明白!

 知识点学习参考:

1.基本读写常用指令:

一文搞懂Python文件读写 - 知乎 (zhihu.com)

2.文件遍历知识总结: 

(205条消息) python遍历文件夹下的所有文件_python遍历d盘下面所有文件(排除掉文件夹)_热巴的小哥哥的博客-CSDN博客

3. isdir函数详解: Python判断路径是否是目录-Python isdir函数-嗨客网 (haicoder.net) 

目录

第1关:读取文件内容 

第2关:素数写入文件

第3关:输出文件目录 

第4关:读写json文件

第1关:读取文件内容 

def file(name,encoding = 'utf-8'):'''读取文件内容,如文件存在,则输出文件信息,若文件不存在,则输出`无法打开指定的文件!`,若文件编码方案和打开指定编码方案不同,则输出`指定了未知的编码!`,若读取文件时解码错误,则输出`读取文件时解码错误!`:params name:文件名:params encoding:编码方案。默认为'utf-8':return :无返回值,直接输出'''#        请在此处添加代码       ## *************begin************##我的代码逻辑:if(文件存在与否) else#情况1:编码方案相同if encoding == 'utf-8': #编码方案默认为utf-8# ① 文件存在try:f = open(name) #第一步:用open()来打开文件后,可以用open各种方法print(f.read()) #read:读取一些数据,作为字符串(文本模式下)或 字节对象(二进制模式下)返回。默认读取文件全部# ② 文件不存在except FileNotFoundError:print('无法打开指定的文件!')#情况2:编码方案不同else:   print('指定了未知的编码!')# **************end*************#
if __name__ == '__main__':name,encoding = input().split(',')file(name=name,encoding=encoding)

第2关:素数写入文件

from math import sqrt
def is_prime(n):"""判断素数的函数"""assert n > 0for factor in range(2, int(sqrt(n)) + 1):if n % factor == 0:return Falsereturn True if n != 1 else Falsedef store():#         请在此处添加代码       ## *************begin************##文件1:1-99素数with open("a.txt",'w') as f:  # with:最好写上,当子句体结束后,文件会正确关闭,即使异常无碍for i in range(2,100):if is_prime(i):f.write(str(i) + "\n")#文件2:100-999素数with open("b.txt",'w') as f:for i in range(100,1000):if is_prime(i):f.write(str(i) + "\n")#文件3:1000-9999素数with open("c.txt",'w') as f:for i in range(1000,10000):if is_prime(i):f.write(str(i) + "\n")# **************end*************#

第3关:输出文件目录 

from os import listdir #os模块的listdir方法;返回目标路径下文件和文件夹的名字列表,参数=目标路径
from os.path import join,isfile,isdir # os.listdir(r'E:\test')
def listDir(director): """ os模块中相关文件目录操作遍历文件夹,如果是文件就直接输出当前文件绝对路径,如果是文件夹,就输出当前文件夹路径,然后接着遍历该子文件夹,直到指定文件夹被全部遍历完。:param director: 需遍历的路径:return:无返回值,直接输出"""#        请在此处添加代码       ## *************begin************## 1.不是目录if not isdir(director): #isdir:判断是否是目录printf("no")return# 2.是目录for x in listdir(director): #遍历temp = join(director,x) #join:连接字符串,数组,元素序列,字典,元组#文件if isfile(temp):print(temp)elif isdir(temp):print(temp)listDir(temp)# **************end*************#

第4关:读写json文件

import json
def main(name):#        请在此处添加代码         ## *************begin************#attribute = [] # attribute:存储对象属性+特征(eg: 年龄,性别,身高)ans = [] #ans: anser存储某个结果或答案的属性(eg: 数学结果)try: #try except:捕获可能出现的异常,防止程序中断with open(name,'r') as f:#打开一个名为name的文本文件(只读模式打开)title = f.readline() #读取文件的第一行(标题行)title = title.replace("\n","").split(" ") #去掉标题行中换行符,使用空格将字符串分割成一个列表while True: #无限循环,直到breakcontent = f.readline() #读取下一行if content == "":break #内容=空,结束循环content = content.replace("\n","").split(" ") #去换行符,分割列表temp = dict(zip(title,content)) #zip 一一对应,换成字典ans.append(temp) #加入列表ans中 append:末尾添加一个元素print(ans)except Exception as e:print(e) #文本文件以字典列出,方便后续处理# **************end*************#if __name__ == '__main__':name = input()main(name)

相关内容

热门资讯

雅江超级工程核心受益标的建材E... 受“雅江”1.2万亿超级工程利好催化,建材ETF(159745)今日开盘再度大涨近3%,昨日收盘也同...
刚一字涨停,又曝利好! 【导读】刚因雅下水电概念涨停,中国电建公告上半年水电新签合同额暴增66% 中国基金报记者 南深 7月...
银行板块短线跳水,厦门银行跌超... 银行板块短线跳水, 厦门银行跌超4%, 渝农商行跌超3%, 西安银行、 江苏银行、 重庆银行、 民生...
【网金基金研究中心】壹佰金每周... 壹佰金一周基金市场动态 1、核心资讯一览 Wind数据显示,截至7月18日17时,A股共有1540家...
1.25万亿份,净申购! 【导读】今年二季度基金整体净申购1.25万亿份,货基和债基为主力军 中国基金报记者 张燕北 公募二季...
骑士乳业及董事长党涌涛等被罚3... 具体来看,2024年,骑士乳业开展了豆粕、白糖、尿素等期货交易业务。截至2024年1月17日,骑士乳...
现货黄金突破3400美元关口 ... 财联社7月22日讯(编辑 牛占林)周一美盘交易时段,现货黄金突破3400美元/盎司,为6月17日以来...
摩根大通:人工智能和动量交易过... 市场中最具投机性的领域可能变得过于热门,且热度攀升速度过快。 摩根大通在周一发布的一份研究报告中警告...
“金融科技第一股”退市加速 记者丨曹媛 编辑丨孙超逸 “金融科技第一股”金融壹账通(6638.HK/OCFT.N)正加速退市。 ...
公募管理规模历史首破34万亿! 公募基金2025年二季报披露完毕。 天相投顾数据显示,公募基金二季度末管理规模历史首次超过34万亿元...
京东旗下首家自营外卖门店“七鲜... 观点网讯:7月21日消息,京东集团旗下首家自营外卖门店“七鲜小厨”已于7月20日在北京正式开业,标志...
企业居民融资成本处低位 7月L... 7月21日,中国人民银行授权全国银行间同业拆借中心公布,1年期贷款市场报价利率(LPR)为3.0%,...
港股“双重优势”吸引QDII基... 本报记者 彭衍菘 随着公募基金二季报陆续披露,QDII基金的区域配置策略调整引发市场关注。Wind资...
夯筑起应对复杂变局的坚实依托 安六高速铁路上的动车组列车驶过贵州省安顺市普定县化处镇。新华社记者 陶亮 摄 ...
“强实名”仍一票难求?遏制技术... 暑期来临,演唱会、音乐节、话剧等演出活动热度飙升。无论手速多快,总是一票难求,让众多消费者叫苦不迭。...
上证红利回报指数上涨0.83%... 金融界7月21日消息,上证指数高开高走,上证红利回报指数 (上红回报,H50019)上涨0.83%,...
为啥股票与基金的走势相反? 虚位以待! 平姐姐摄于毛里求斯网红酒店 昨天的文章,标题就很明确,那就是《准备出击》,在半年报不少上...
美加密货币相关法案落地引发三连... 当地时间7月18日,美国总统特朗普在白宫正式签署《指导与建立美国稳定币国家创新法案》(简称《天才法案...
股市必读:湖南黄金(00215... 截至2025年7月21日收盘,湖南黄金(002155)报收于18.33元,上涨2.57%,换手率3....
四川发布六大红色旅游新线路 四川发布六大红色旅游新线路 “锦绣天府·安逸四川”之红色旅游央地媒体联动采访启动 “锦绣天府·安...