当前位置: 首页 > news >正文

网站设计 原型图html购物网站模板

网站设计 原型图,html购物网站模板,怎么改网站关键词,2021重大军事新闻描述 从json文件中读取两个时间数据#xff08;数据格式例如#xff1a;2019.01.01#xff0c;数据类型是字符串#xff09;#xff0c;并计算结果#xff0c;打印出两个时间间隔了多少天。 输入/输出描述 输入描述 json文件名称datetime.json#xff0c;格式如下#…描述 从json文件中读取两个时间数据数据格式例如2019.01.01数据类型是字符串并计算结果打印出两个时间间隔了多少天。 输入/输出描述 输入描述 json文件名称datetime.json格式如下 { day1: 1949.10.01, day2: 2019.04.25 } 输出描述 控制台打印两个时间day1和day2间隔了多少天。 25408 解决思路 读取json文件中的数据后解析有用的部分并做校验检查格式是否正确。在日期格式正确的情况下将日期转换为datetime.date并做计算。最后输出结果。 代码时间差计算。 从json文件中读取两个时间数据计算并打印两个时间间隔了多少天。import datetime import json import traceback class TimeFormatError(Exception): def __init__(self, message): self.message TimeFormatError: message def days_compute(times):Calculated date interval. :param times: time dictionary :return: date intervaltime1 times[day1] time2 times[day2] if time1.count(.) 2: raise TimeFormatError(Time format(yyyy.mm.dd) error. %s % time1) if time2.count(.) 2: raise TimeFormatError(Time format(yyyy.mm.dd) error. %s % time2) date1 parse(time1) date2 parse(time2) return (date2 - date1).days def parse(time_str):Parse time format. :param time_str: time string :return: datetime_list time_str.split(.) year time_list[0] month time_list[1] day time_list[2] return datetime.date(int(year), int(month), int(day)) def read_json_file(path):Read json file. :param path: json file url :return: json file datawith open(path, r) as json_file: data json.load(json_file) json_file.close() return data # main method url datetimes.json try: base read_json_file(url) day days_compute(base) print(day) except TimeFormatError as e: print(str(e)) print(errmsg:\n%s % traceback.format_exc()) except Exception as e: print(str(e)) print(errmsg:\n%s % traceback.format_exc()) 代码走读 import datetime import json import traceback # 自定义异常类型TimeFormatError, 用于在代码中校验错误时间格式时抛出 class TimeFormatError(Exception): def __init__(self, message): self.message TimeFormatError: message # 定义计算日期差的函数 def days_compute(times):Calculated date interval. :param times: time dictionary :return: date interval# 从字典中获取两个时间日期 time1 times[day1] time2 times[day2] # 日期格式校验如果日期格式错误(例如“2019.10”)抛出TimeFormatError if time1.count(.) 2: raise TimeFormatError(Time format(yyyy.mm.dd) error. %s % time1) if time2.count(.) 2: raise TimeFormatError(Time format(yyyy.mm.dd) error. %s % time2) # 在这里调用自定义的parse函数将两个日期时间格式由字符串转换为datetime.date格式 date1 parse(time1) date2 parse(time2) # 返回计算结果整型 return (date2 - date1).days # 解析时间字符串转换为datetime.date格式 def parse(time_str):Parse time format. :param time_str: time string :return: date# 使用split()函数将字符串转化为列表并分解出年月日 time_list time_str.split(.) year time_list[0] month time_list[1] day time_list[2] # 将日期转换为datetime.date格式并返回 return datetime.date(int(year), int(month), int(day)) # 读取json文件的信息将json文件转化为字典格式 def read_json_file(path):Read json file. :param path: json file url :return: json file datawith open(path, r) as json_file: data json.load(json_file) json_file.close() return data # main method # 代码开始执行的地方 # json文件的url url datetimes.json try: # 调用自定义的read_json_file函数获取json文件的内容 base read_json_file(url) # 计算结果并打印输出 day days_compute(base) print(day) # 捕获异常打印错误信息和堆栈 except TimeFormatError as e: print(str(e)) print(errmsg:\n%s % traceback.format_exc()) except Exception as e: print(str(e)) print(errmsg:\n%s % traceback.format_exc()) 传送门 1. count()函数 2. split()方法 3. int()函数 4. print()函数 5. str()函数 测试用例 1. json文件中日期格式正常 json格式如下 { day1: 1949.10.01, day2: 2019.04.25 } python脚本执行结果 25408 即1949年10月1日与2019年4月25日间隔了25408天。 2. json文件中只有年和月没有日day json文件如下 { day1: 1949.10, day2: 2019.04.25 } python脚本执行如下可以看出程序抛出并捕获了自定义异常TimeFormatError并将其错误堆栈打出。 Time format(yyyy.mm.dd) error. 1949.10 errmsg: Traceback (most recent call last): File /Users/Desktop/Python Apps/untitled_test/day_compute.py, line 67, in day days_compute(base) File /Users/Desktop/Python Apps/untitled_test/day_compute.py, line 25, in days_compute raise TimeFormatError(Time format(yyyy.mm.dd) error. %s % time1) TimeFormatError: Time format(yyyy.mm.dd) error. 1949.10 3. 日期错误。 日期错误。例如输入的是1000年13月1日当然不存在这个日期。 json文件如下 { day1: 1000.13.1, day2: 2019.04.25 } python执行结果如下 month must be in 1..12 errmsg: Traceback (most recent call last): File /Users/Desktop/Python Apps/untitled_test/day_compute.py, line 67, in day days_compute(base) File /Users/Desktop/Python Apps/untitled_test/day_compute.py, line 29, in days_compute date1 parse(time1) File /Users/Desktop/Python Apps/untitled_test/day_compute.py, line 46, in parse return datetime.date(int(year), int(month), int(day)) ValueError: month must be in 1..12 代码捕获到python内置异常ValueError46行的parse函数内所抛出指出日期有误。 标签return,Python,天数,json,日期,file,time,day,TimeFormatError 来源 https://blog.csdn.net/TCatTime/article/details/89838237
http://www.pierceye.com/news/648221/

相关文章:

  • 网站哪家做的好公共资源交易中心级别
  • html5网站开发工具自己做微信电影网站怎么做
  • 学院网站制度建设成品大香伊煮蕉免费在线
  • 做网站的域名和空间是什么意思佛山建站专
  • 网站是哪个公司做wordpress 底部修改插件
  • 嘉兴网站推广优化印度vps
  • 网站seo诊断分析和优化方案青岛网站制作方案
  • 发布个人免费网站的一般流程图宣传广告
  • php学什么可以做网站po wordpress
  • 875网站建设怎么样网站设计高端网站设计
  • qq钓鱼网站怎么制作扬州网站建设哪个好薇
  • 域名和网站空间怎么做解析南阳seo网站推广费用
  • 烟台企业网站建设国内ui网站有哪些
  • 手机网站建设选 朗创营销电商运营的核心公式
  • seo网站排名软件飞机网页设计实训报告
  • 禹城做网站做网站的教科书
  • 基木鱼建站公众号怎么做网站
  • 无水印做海报的网站百度技术培训中心
  • 如何在阿里云上做网站现在最流行的网站开发工具
  • 济宁网站建设联系方式漳州本地网
  • 口腔网站建设wordpress顶部提示
  • 葫芦岛做网站公司如皋网站开发公司
  • 国外开源 企业网站服务好质量好的网站制作
  • sql网站的发布流程品牌建设是什么意思
  • 营口网站建设价格江苏住房和建设厅网站
  • 网站稳定性不好的原因打金新开传奇网站
  • 做网站怎么上传图片厦门建站网址费用
  • 网站设计方案和技巧做设计有必要买素材网站会员吗
  • 成都制作网站软件网站别人帮做的要注意什么东西
  • 徐州建筑网站建网站要自己买服务器吗