摘要:
一、为什么使用nose?编写测试更容易。nose可以自动识别继承于unittest.TestCase的测试单元,并执行测试,而且,nose也可以测试非继承于unittest.TestCase的测试单元。nose提供了丰富的API便于编写测试代码。执行测试更容易。 只要遵循一些简单的规则去组织你的类库... 阅读全文
摘要:
一、测试的常用规则一个测试单元必须关注一个很小的功能函数,证明它是正确的;每个测试单元必须是完全独立的,必须能单独运行。这样意味着每一个测试方法必须重新加载数据,执行完毕后做一些清理工作。通常通过setUp()和setDown()方法处理;编写执行快速的测试代码。在某些情况下,测试需要加载复杂的数据... 阅读全文
摘要:
19.1 Http服务器请求处理流程图(1) 调用HTTPServer的bind方法,绑定Socket的监听端口号;(2) 调用HTTPServer的listen方法,初始化一个listen socket对象;(3) 调用add_hander方法,将初始化的listen socket对象添加至IOL... 阅读全文
摘要:
上一篇中(Web应用中模板的工作流程分析),已经分析了模板的渲染流程,以及相关参数获取及设置原理。这篇主要讲述模板在实际应用案例。11.1 需求 根据用户输入的两次密码,判断两次密码是否一致,并将判断后的结论用自定义的模板方法格式化输出。 备注:只为满足演示实验需要,不考虑密码的安全性。11.2 ... 阅读全文
摘要:
先看一段代码:user = dict(name="brainliao", age=32) print(user["sex"]) 运行结果如下: user这个字典中没有sex这个key,所以访问user[“sex”]会报KeyError这个错 有如下3中解决方式: 1、调用get(k, default)方法user = dict(name="brainliao", age=... 阅读全文
摘要:
一个对象当其生命周期内的hash值不发生改变,而且可以跟其他对象进行比较时,这个对象就是Hashtable的。两者Hashtable的对象只有具有相同的hash值时才能判断为相同的对象。 python中的基本类型都是Hashtable,比如str,bytes,数字类型等; 用户自定义的类型默认情况下都是hashtable,因为他们的hash值就是他们的id()... 阅读全文
摘要:
1. 特殊方法汇总列表 2. 仿集合类 __len__:返回对象的长度 __getitem__:获得某一项的值 __setitem__:设置莫一项的值 __delitem__删除某一项 __contains__:包含某一项 实现说明: 1) 模拟一副扑克牌,包含两个类,一个是卡片类(Card),一个是 扑克(PuKe),PuKe类包含52张牌,13个大小(AJ... 阅读全文
摘要:
一、问题的由来 最近有个项目,叫做文档服务资源中心,类似于七牛,为各个业务系统提供统一的文件资源服务,包括文件的存储、操作管理、下载、预览等。在做文件存储的时候,遇到了这个当指定上传的文件名为中文时,Flask框架的服务端无法解析成文件,而是当成一般的表单数据处理。我们在文件存储的实现架构如下图: 客户端业务系统(Python开发的)通过调用python-sdk中的... 阅读全文
摘要:
xml.etree.ElmentTree不支持CDATA 的输出,但是支持Comment的输出。由于在项目中需要输出带有CDATA块的XML文本,参考Comment的做法,修改ElmentTree中的_serialize_xml方法中。实现如下: import xml.etree.ElementTree as ETdef CDATA(text=None): element = ET... 阅读全文
摘要:
一、 问题的提出 最近用java开发一个科技项目信息管理系统,里面有一个根据项目申请书的模板填写项目申报信息的功能,有一个科技项目申请书word导出功能。 已有的实现方式:采用标准的jsp模板输出实现,简单地说,就是把数据渲染进jsp页面,然后将此页面另存为doc文档,从而达到word导出效果。但是 阅读全文
摘要:
根据Application的配置,主要负责将客户端的请求分发到具体的RequestHandler。这个类实现了HTTPMessageDelegate接口。18.1 构造函数定义:def __init__(self, application, connection):参数:application:Ap... 阅读全文