Python闭包问题的探讨
2019-08-01
前言今日在更新程序的时候遇到了个问题。
如何生成多语言的菜单,创建并绑定相应的回调函数?
生成菜单自然是很简单的,一个for循环就好了,但是生成相应函数就???
正文在解决以下事件的过程中,又思考得出了别的内容。
续:前言事件情况如下,现有语言列表及两个业务方法。
# 现有两种语言,不排除以后会扩展#(即便只有两种语言也不写hardcode,便于日后扩展)languages = ['en&...
Web开发基础课程
2019-07-30
前言前段时间为完成学校任务,设计了一套Web开发课程。
课程涉及前后端的基础应用,最终目标为开发一款简易的博客程序。
博客程序包含最基本的功能(用户、发布文章、文章分类、文章留言、友情链接)。
课程安排学习周期:2周(原定1周,翻车了)
课程内容如下所示,都是些最基本的知识点。
Web课程安排
软件环境
系统:Windows 7
PhpStudy2016(apache+php5.6+mysql...
Flask 蓝图嵌套
2019-06-13
前言Flask是一个轻量级的python web框架,与django相比,flask抛开了繁琐的配置项等等。
Flask与Django一样,支持模块化开发,使用BluePrint(蓝图)实现。
但是,这个蓝图并不支持嵌套。。
正文当然,我能想到的问题早就有人想到,并解决了。
详情见issue.
解决方案class NestableBlueprint(Blueprint):
"&q...
Flask SelectField (Not a vaild choice) 错误解决
2019-06-13
前言最近折腾起来Flask,在使用WTForm的时候遇到了一点小问题。
当提交表单时,SelectField项提示错误Not a vaild choice.
正文此时表单代码为:
class QuestionAddForm(FlaskForm):
type = SelectField('类型', choices=list(
{
1: ...
Python解析url请求参数
2019-03-18
前言在制作爬虫模拟登陆时发现表单数据如下。
userName=xxx&userPwd=xxx
结构相当简单,想要转换成dict,分割两下就好了,但是仔细想想,这么常见的需求,一定会有相应的模块。
寻找了一番,果然是有的。
方法详细操作自行查看文档。
from urllib.parse import parse_qs
print(parse_qs('userName=xxx&...
使用QuickLook进行快速预览
2018-12-15
前言在macOS下有一个便捷的功能,其名为QuickLook。
只要在文件管理器选中一个文件,按下空格,即可快速预览。
最近重装了macOS,发现这个功能好像失效了。(可能是应用没有注册快速预览功能)
经过一番搜索,找到了更好的解决方案。(还找到了win版的QuickLook)
Windows版QuickLook点击打开项目地址。
安装即可,文章后面内容对此不适用。
Mac QuickLook失效...
PHP7 兼容旧 MySQL Api
2018-12-01
前言这几天折腾网络安全的玩意,在搭建安全测试平台的过程中出现了点小问题。
安全测试平台使用的php版本是5.x,但我在服务器上安装的是7.x,7.x的php废除了对mysql的api,添加了一套新的api,mysqli。
虽然可以去安装php5.x来解决这个问题,不过常用的5.6好像也不支持了,那就不折腾了。
考虑到各种因素,于是乎用mysqli的api修改一下,做了个mysql的api兼容层。
...
【转】安装PyCrypto时VS编译出错
2018-11-30
前言最近做了个project,需要用到PyCrypto。
PyCrypto在Windows下需要使用VC进行编译,不过Python模块在Windows平台编译坑点比较多。
如:
winrand.c
D:\Windows Kits\10\include\10.0.17134.0\ucrt\inttypes.h(27): error C2061: 语法错误: 标识符“intmax_t”
D:\Wind...
C++之获取数组长度
2018-10-31
前言在研究数组排序的过程中,发现了个很基础的问题–如何获取数组长度(成员数)。
似乎C++并没有提供获取数组长度的方法,网上搜索得知sizeof可以计算变量大小,可以通过获取数组大小/成员大小的办法得到数组长度。
当我将这个计算数组长度的方法封装起来时,发现事情并不简单。
int array_length(int ai[]) { return sizeof ai / sizeof a...
Python生成正则测试数据
2018-10-12
前言匹配文本,最简单的方法就是使用正则表达式了。
但根据表达式生成测试数据,反过来一看,缺没什么头绪。
万幸的是,使用的是轮子遍地的python,所以只要找到相关模块就可以了。
正文可使用xeger或rstr(含xeger)模块。
这里使用xeger模块。
pip3 install xeger
from xeger import Xeger
reg_str = '0\((.+?)\);&...