
python
文章平均质量分 84
weixin_42359464
不要相信我的文章, 不要使用csdn
展开
-
基于python实现的内网穿透工具 (proxynt)
1. 随时随地打开浏览器管理端口映射2. 公网服务器和内网客户端之间使用 WebSocket 加密传输3. 依赖少, 使用 pip一键安装4. 稳定, 自动重连, 已在生产环境中使用原创 2022-10-30 12:57:08 · 6585 阅读 · 16 评论 -
像spring一样定义django的路由
spring的类视图比django的类视图灵活.@request_mapping(value="/user")class UserView(View): @request_mapping(value="/get_info/") def get_user_info_by_token(self, request, *args, **kwargs): return H...原创 2019-08-18 22:46:08 · 265 阅读 · 0 评论 -
socket非阻塞通讯
fd 非阻塞需要多线程编程服务端方式1: 使用threading库实现多线程基本方法和单进程基本写法一致, 将收发部分封装为函数以便开启其他线程: import socketimport timeimport threadingdef handle_socket(conn, addr): while True: data = conn.rec...原创 2018-07-06 23:08:51 · 524 阅读 · 0 评论 -
python多线程高级锁condition
多线程编程中如果使用Condition对象代替lock, 能够实现在某个事件触发后才处理数据, condition中含有的方法: - wait:线程挂起,收到notify通知后继续运行 - notify:通知其他线程, 解除其它线程的wai状态 - notifyAll(): 通知所有线程 - acquire和release: 获得锁和解除锁, 与lock类似, - enter和exi...原创 2018-07-11 21:48:15 · 2779 阅读 · 0 评论 -
python对象转字典的两种方式
一. 方便但不完美的__dict__对象转字典用到的方法为__dict__. 比如对象对象a的属性a.name='wk', a.age=18, 那么如果直接将使用a.__dict__获得对应的字典的值为: {name: 'wk', aget:18}, 很方便, 但是也存在一些限制. 其不完美之处在于: 比如: class A(object): name = 'wukt'...原创 2018-07-02 11:57:16 · 37333 阅读 · 2 评论 -
contextmanager: 上下文管理器类和上下文管理器装饰器
一. 什么是上下文管理器二. 自定义一个上下文管理器类:三. 使用contextmanager四. 一个例子, sqlalchemy: 数据库的自动提交和回滚一. 什么是上下文管理器上下文管理器是在Python2.5之后加入的功能,可以在方便的需要的时候比较精确地分配和释放资源, with便是上下文管理器的最广泛的应用, 比如: with open(...原创 2018-06-20 10:12:56 · 5598 阅读 · 2 评论 -
werkzeug: LocalStack作为线程隔离对象栈的基本特性
Werkzeug 通过自定义 werkzeug.local.Local 类实现线程隔离的栈结构, 封装了push, pop, 和top方法.可以将对象推入、弹出,也可以快速拿到栈顶对象. 同样具有线程隔离的作用. 并没有直接使用threading.Local .LocalStack作为栈结构的特性栈是一种先进后出的基本数据结构.from werkzeug.local imp...原创 2018-06-19 14:06:28 · 481 阅读 · 0 评论 -
vim: 显示树形目录插件NERDTree安装和常用指令
一. 安装:将压缩包内文件放入指定目录即可: 将plugin/NERD_tree.vim拷贝~/.vim/plugin, doc/NERD_tree.txt拷贝到~/.vim/doc.wget http://www.vim.org/scripts/download_script.php?src_id=17123 -O nerdtree.zip unzip nerdtree.zip...原创 2018-06-18 17:42:44 · 386 阅读 · 0 评论 -
flask自定义一个过滤器例子: markdown文件读取和展示
除了一些内置的join length safe等过滤器外, flask还提供了自定义过滤器的功能. 一. 自定义一个mardown过滤器自定义一个markdown过滤器, 使过滤器可以像safe解析html标签一样解析md语法. 安装库pip install Markdown==2.3.1自定义过滤器使用@app.template_filter(‘md’)过...原创 2018-06-01 08:49:24 · 1204 阅读 · 0 评论 -
flask_sqlalchemy: 重写查询方法例子(重写filter_by)
http://blog.wktadmin.com 1. 引出比如某个项目中, status是逻辑删除的标志, 每次查询都需要加上status=1,Gifts.query.filter_by(uid=current_user.id, isbn=isbn, launched=False, status=1)非常的不方便, 重写filter_by是一个不错的选择重写filter...原创 2018-06-22 11:15:59 · 2581 阅读 · 0 评论 -
python函数装饰器之带参数的函数和带参数的装饰器
1. 函数带多个参数# 普通的装饰器, 打印函数的运行时间def decrator(func): def wrap(*args, **kwargs): start_time = time.time() res = func(*args, **kwargs) end_time = time.time() print('...原创 2018-06-12 21:56:48 · 4406 阅读 · 0 评论