python
文章平均质量分 53
我就是我,不一样的烟火
这个作者很懒,什么都没留下…
展开
-
迭代器与生成器 中
迭代器切片问题你想得到一个由迭代器生成的切片对象,但是标准切片操作并不能做到。解决方案函数 itertools.islice() 正好适用于在迭代器和生成器上做切片操作。>>> def count(n):... while True:... yield n... n += 1...>>> c = ...原创 2019-03-19 13:42:00 · 37 阅读 · 0 评论 -
supervisor 管理uwsgi 进程
Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动 重启。它是通过fork/exec的方式把这些被管理的进程当作supervisor的子进程来启动,这样只要在supervisor的配置文件中,把要 管理的进程的可执行文件的路径写进去即可。也实现当子进程挂掉的时候,父进程可以准确获取子进程挂掉的信息的,可...原创 2019-03-12 17:47:00 · 180 阅读 · 0 评论 -
SQLAlchemy的ORM
表关系:表之间的关系存在三种:一对一、一对多、多对多。而SQLAlchemy中的ORM也可以模拟这三种关系。因为一对一其实在SQLAlchemy中底层是通过一对多的方式模拟的,所以先来看下一对多的关系:外键:在Mysql中,外键可以让表之间的关系更加紧密。而SQLAlchemy同样也支持外键。通过ForeignKey类来实现,并且可以指定表的外键约束。相关示例代码如下:class...原创 2019-01-05 17:59:44 · 268 阅读 · 0 评论 -
Flask 微博三方登录
1.进入微博开发平台(https://open.weibo.com/),注册账号,填写开发者信息2.创建应用。创建应用完成后,可以在“我的应用 - 应用信息”中查看您所创建应用的APPKEY及APPSECRET,请妥善保管您的这些信息,这将 成为您调用微博开放平台各API的身份标志,如下图所weibo.py#coding:utf-8# 引导用户授权地址authorize...原创 2019-01-05 15:12:35 · 1276 阅读 · 1 评论 -
SQLAlchemy介绍和基本使用
pymysql:pymysql是用Python来操作mysql的包,因此通过pip来安装,命令如下:pip3 install pymysql。如果您用的是Python 3,请安装pymysql 豆瓣源 pip install pymysql -i https://pypi.douban.com/simpleSQLAlchemy:SQLAlchemy是一个数据库的ORM框架,我们在后面会用...原创 2019-01-04 18:13:48 · 496 阅读 · 0 评论 -
Python 百度ai身份证接口案例
调用百度Ai完成一个学生信息录入的网页小案例添加图片,身份证信息对号入座官方文档中心:https://ai.baidu.com/docs#/OCR-API/7e4792c7utils.py#encoding:utf-8import requestsimport urllibfrom urllib import parseimport osimport json...原创 2018-11-17 15:29:14 · 1181 阅读 · 0 评论 -
pipdeptree
pipdeptree是一个命令行实用程序,用于以依赖树的形式显示已安装的python包。pipdeptree可识别安装在环境中python包,它可为检测相互冲突的依赖包提供帮助。 通过pip install 安装即可使用:pipdeptree 树形结构展示相关依赖检查哪些包以来于指定的包:pipdeptree --reverse --packages xadminjson形式展示,便于冲突定位(推荐)pipdeptree --json-tree > test.json.原创 2021-01-19 19:34:51 · 1323 阅读 · 0 评论 -
M R O
在Python3里面,有多继承的时候,往往会出现调用Super失败的情况。Python里存在一种多继承 Super的调用顺序(C3算法),保证每个类调用一次。体现:类名.__mro__使用Super时,调用当前类的下一个类的方法多次调用:class Parent(object): def __init__(self,name): print('parent 开始调用...原创 2019-04-15 12:15:07 · 191 阅读 · 0 评论 -
ORM基本操作回顾
连接数据库默认是MySQLdb指定引擎dialect[+driver]: //user:password@host/dbname[?key=value…]:from sqlalchemy import create_engineengine = create_engine("mysql+pymysql://root:root@127.0.0.1/ormreview?charset=utf...原创 2019-04-03 11:04:01 · 184 阅读 · 0 评论 -
python 协程回顾
Python通过yield提供了对协程的基本支持,但是不完全。而第三方的gevent为Python提供了比较完善的协程支持。gevent是第三方库,通过greenlet实现协程,其基本思想是:当一个greenlet遇到IO操作时,比如访问网络,就自动切换到其他的greenlet,等到IO操作完成,再在适当的时候切换回来继续执行。由于IO操作非常耗时,经常使程序处于等待状态,有了gevent为...原创 2019-04-02 14:27:38 · 100 阅读 · 0 评论 -
python线程回顾
线程多任务可以由多进程完成,也可以由一个进程内的多线程完成。我们前面提到了进程是由若干线程组成的,一个进程至少有一个线程。由于线程是操作系统直接支持的执行单元,因此,高级语言通常都内置多线程的支持,Python也不例外,并且,Python的线程是真正的Posix Thread,而不是模拟出来的线程。Python的标准库提供了两个模块:thread和threading,thr...原创 2019-04-01 21:44:19 · 109 阅读 · 0 评论 -
详解使用flask_paginate进行分页
分页技术好处:1.分页技术是把数据全部查询出来,然后再进行分页2.分页技术可以,降低带宽使用,提高访问速度 使用flask_paginate进行分页1.要使用flask_paginate,首先安装flask_paginate,可通过 pip install flask_paginate进行安装,首先需要足够多的内容,当一页显示不完时,进行分页处理。 首先我新建了一个f...原创 2018-05-19 22:47:33 · 12359 阅读 · 3 评论 -
flask开发的CMS管理系统
Dohoom 详细介绍Dohoom 基于Python3 Flask +Mysql+ Redis开发的一个Web系统可用于搭建(开发)个人网站, 企业官网.包含:相册模块,文章模块,小组模块,私信模块Demowww.donghao.club (由于个人原因,比如穷等, 哈哈,该站可能已下线)源码地址:GITHUBhttps://github.com/1417766861...原创 2018-10-15 20:57:29 · 3021 阅读 · 1 评论 -
Python 虚拟环境
虚拟环境为什么需要虚拟环境:到目前位置,我们所有的第三方包安装都是直接通过pip install xx的方式进行安装的,这样安装会将那个包安装到你的系统级的Python环境中。但是这样有一个问题,就是如果你现在用Django 1.10.x写了个网站,然后你的领导跟你说,之前有一个旧项目是用Django 0.9开发的,让你来维护,但是Django 1.10不再兼容Django 0.9的一些语法了...原创 2019-02-16 13:17:06 · 95 阅读 · 0 评论 -
迭代器与生成器 上
手动遍历迭代器问题你想遍历一个可迭代对象中的所有元素,但是却不想使用for循环解决方案def manual_iter(): with open('test.txt') as f: try: while True: line = next(f) print(line, e...原创 2019-03-18 16:58:48 · 94 阅读 · 0 评论 -
迭代器与生成器 下
不同集合上元素的迭代问题你想在多个对象执行相同的操作,但是这些对象在不同的容器中,你希望代码在不失可读性的情况下避免写重复的循环。解决方案itertools.chain() 方法可以用来简化这个任务。 它接受一个可迭代对象列表作为输入,并返回一个迭代器,有效的屏蔽掉在多个容器中迭代细节。 为了演示清楚,考虑下面这个例子:>>> from itertools impo...原创 2019-03-19 13:55:34 · 98 阅读 · 0 评论 -
wsgiref源码解析
wsgiref是PEP 333定义的wsgi规范的范例实现,里面的功能包括了:wsgi的环境变量应答头部的处理实现简单的HTTP服务器简单的对程序端和服务器端校验函数我们先看一个简单的代码实例,然后跟着例子去理解源码:app.py#encoding:utf-8# __author__ = 'donghao'# __time__ = 2019/3/29 14:17def h...原创 2019-03-29 16:58:44 · 259 阅读 · 0 评论 -
multiprocessing- 基于进程的并行性
介绍multiprocessing是一个使用类似于threading模块的API支持生成进程的包。该multiprocessing软件包提供本地和远程并发,通过使用子进程而不是线程有效地支持 全局解释器锁。multiprocessing模块充分利用给定机器上的多个处理器。它可以在Unix和Windows上运行。该multiprocessing模块还引入了threading模块中没有模拟的API...原创 2019-04-01 16:22:47 · 389 阅读 · 0 评论 -
flask_mail发送邮件(附源码)
文章介绍如何用flask_mail发送QQ邮件,发送其它邮箱简单的更改相应配置即可 传送门:源代码源代码地址:https://github.com/1417766861/flask_mail 首先展示一下效果:发送普通文本邮件:发送一个html模板的邮件:发送一个附带附件的邮件: 看到结果,是否心动了呢?1. 通过flask_mail 发送...原创 2018-05-18 20:24:14 · 5636 阅读 · 1 评论