Python
文章平均质量分 64
kd丹妮儿
这个作者很懒,什么都没留下…
展开
-
Python软件开发规范
软件开发规范:编写一个软件时应该遵循的规则规则是什么?规则就是bin ----启动文件start.pycore --主逻辑src.pyconf------配置文件(静态文件)settings.pylib-----公共组件common.pydb-----数据相关log---日志README.md---------说明书...原创 2020-12-15 15:24:02 · 229 阅读 · 0 评论 -
JWT原理和实战应用
1、jwtjsonweb token,一般用于用户认证(前后端分离/微信小程序/app开发)。基于传统的token认证用户登录,服务端返回token,并将token保存在服务端以后用户再来访问时,需要携带token,服务端获取token后,再去数据库中获取token进行校验.jwt用户登录,服务端返回token,(服务端不保存)以后用户再来访问时,需要携带token,服务端获取token后,再做token校验.优势:相较于传统的token相比,它无需在服务端保存token..原创 2020-12-14 15:15:00 · 2254 阅读 · 0 评论 -
调用阿里云语音识别接口
1、原创 2020-11-05 16:26:58 · 3361 阅读 · 0 评论 -
协程初探
1、协程初探协程,又称微线程,纤程。英文名Coroutine。一句话说明什么是协程:协程是一种用户态的轻量级线程,所以操作系统是不知道的。协程拥有自己的寄存器上下文和栈。协程调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时候,恢复先前保存的寄存器上下文和栈。因此:协程能保留上一次调用时的状态(即所有局部状态的一个特定组合),每次过程重入时,就相当于进入上一次调用的状态,换种说...原创 2019-12-13 17:23:51 · 128 阅读 · 0 评论 -
ssh登录和paramiko模块
https://www.cnblogs.com/zhujingzhi/p/9686208.htmlhttps://www.cnblogs.com/wupeiqi/articles/5095821.html原创 2019-12-12 15:19:59 · 129 阅读 · 0 评论 -
多进程multiprocessing间通讯和数据共享
1、进程简介io密集型的尽量使用多线程,如socketserver.multiprocessing模块可以使用一些简单的API批量生生进程,可以实现本地和远程进程间同步,通过使用子进程而不是线程来有效避开了全局解释器锁GIL,因此,该multiprocessing模块允许程序员在给定机器上充分利用多个处理器。它可以在Unix和Windows上运行。一个简单的例子如下:from m...原创 2019-12-12 14:08:45 · 787 阅读 · 0 评论 -
线程threading同步的几种技术方式
1、lockimport timeimport threading def addNum(): global num #在每个线程中都获取这个全局变量 print('--get num:',num ) time.sleep(1) lock.acquire() #修改数据前加锁 num -=1 #对此公共变量进行-1操作 lock.rel...原创 2019-12-12 10:27:12 · 279 阅读 · 0 评论 -
socketserver的基本使用
socketserver的介绍:socketserver是标准库中的一个高级模块 socketserver可以简化创建客户端跟创建服务端的代码 SocketServer内部使用 IO多路复用 以及 “多线程” 和 “多进程” ,从而实现并发处理多个客户端请求的Socket服务端。socketserver的使用:首先导入模块:import socketserver 初始化控制器类Ha...原创 2019-10-22 11:00:45 · 6779 阅读 · 0 评论 -
SQLAlchemy之原生SQL语句
# -*- coding:utf-8 -*-import timeimport threadingfrom sqlalchemy.ext.declarative import declarative_basefrom sqlalchemy import Column, Integer, String, ForeignKey, UniqueConstraint, Indexfrom ...原创 2019-09-30 09:00:13 · 3492 阅读 · 0 评论 -
SQLAlchemy之常用操作
# 条件ret = session.query(Users).filter_by(name='alex').all()ret = session.query(Users).filter(Users.id > 1, Users.name == 'eric').all()ret = session.query(Users).filter(Users.id.between(1, 3), U...原创 2019-09-29 17:29:05 · 120 阅读 · 0 评论 -
SQLAlchemy之基本增删改查
# -*- coding:utf-8 -*-import timeimport threadingfrom sqlalchemy.ext.declarative import declarative_basefrom sqlalchemy import Column, Integer, String, ForeignKey, UniqueConstraint, Indexfrom s...原创 2019-09-29 17:18:36 · 265 阅读 · 0 评论 -
SQLAlchemy之表结构
1、创建表1.ORM不能创建数据库,只能创建表2.默认情况下,⽣成的表名称是类名称的⼩写形式,如果需要指定,设置tablename3.链接数据库的格式:<协议名称>://<⽤户名>:<密码>@<ip地址>:<端⼝>/<数据库名>如果使⽤的是mysqldb驱动,协议名: mysql如果使⽤的是pymysql驱...原创 2019-09-29 10:11:50 · 906 阅读 · 0 评论 -
SQLAlchemy概述
一. 介绍SQLAlchemy是一个基于Python实现的ORM框架。该框架建立在 DB API之上,使用关系对象映射进行数据库操作,简言之便是:将类和对象转换成SQL,然后使用数据API执行SQL并获取执行结果。pip install sqlalchemy组成部分:Engine,框架的引擎 Connection Pooling ,数据库连接池 Dialect,选择连接数...原创 2019-09-29 09:15:54 · 183 阅读 · 0 评论 -
Flask中内置session处理机制源码剖析3(使用flask-session)
1、使用RedisSessionInterfacefrom flask import Flask,sessionapp = Flask(__name__)app.secret_key = "secret_key"#方式一:# from flask_session import RedisSessionInterface# from redis import Redis# c...原创 2019-09-27 16:16:07 · 108 阅读 · 0 评论 -
Flask中内置session处理机制源码剖析2(自定义session)
1、自定义session思路请求刚到来: 创建特殊的字典,并添加到Local中: 调用关系: self.session = session_interface.open_session(self.app, self.request) 由于默认app中的session...原创 2019-09-27 13:35:50 · 164 阅读 · 0 评论 -
Flask之CORS跨域配置
1、安装pip install flask-cors2、flask-cors包也提供了两种方式方式 范围 说明 @cross_origin装饰器 配置单个路由 适用于配置特定的API接口 CORS函数 配置全局API接口 适用于全局的API接口配置 这两中方法原理,都是最后在视图函数执行完后,添加响应头来允许跨域的。2.1、cr...原创 2019-09-26 17:28:28 · 1942 阅读 · 0 评论 -
Flask-SQLAlchemy项目实战
项目目录结构如下:Flask-SQLAlchemy sansa views account.py __init__.py models.py create_table.py run.py settings.py代码如下...原创 2019-09-30 16:26:51 · 1042 阅读 · 1 评论 -
Flask中内置session处理机制源码剖析1
Flask中的session处理机制请求刚到来:获取随机字符串,存在则去"数据库"(可以是数据库,文件,内存等)中获取原来的个人数据,否则创建一个空容器。--->内存:对象(随机字符串,(放置数据的容器)) 视图函数:操作内存中对象(对象(随机字符串,(放置数据的容器))) 请求终止/响应:内存中对象(随机字符串,(放置数据的容器)) 保存到数据库或者文件等 随机字符串写在用户...原创 2019-09-26 16:56:09 · 130 阅读 · 0 评论 -
SQLAlchemy之基于relationship操作ForeignKey
创建表如下:import datetimefrom sqlalchemy import create_enginefrom sqlalchemy.ext.declarative import declarative_basefrom sqlalchemy import Column, Integer, String, Text, ForeignKey, DateTime, Unique...原创 2019-09-30 09:32:16 · 937 阅读 · 2 评论 -
SQLAlchemy之多对多relationship
#!/usr/bin/env python# -*- coding:utf-8 -*-import timeimport threadingfrom sqlalchemy.ext.declarative import declarative_basefrom sqlalchemy import Column, Integer, String, ForeignKey, UniqueCo...原创 2019-09-30 09:39:40 · 513 阅读 · 0 评论 -
ubuntu14.04-desktop下安装pycharm
安装pycharm使用umake来安装pycharm。Ubuntu为开发者提供了一个完美的命令行工具——umake。umake可以让你在Ubuntu上轻松的安装一大堆开发工具。例如 Android Studio, Visual Studio Code, Ubuntu SDK, Eclipse, Arudino Software Distribution等等。pycharm也是其中之一。...原创 2018-12-26 16:50:24 · 179 阅读 · 1 评论 -
socket实现大数据传输
socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求。socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,对于文件用【打开】【读写】【关闭】模式来操作。socket就是该模式的一个实现,socket即是一种特殊的文件,一些socket函数就是对其进行的操作(读/写IO、打开、关闭)...原创 2019-10-21 14:59:58 · 7753 阅读 · 0 评论 -
反射的妙用
python面向对象中的反射:通过字符串的形式操作对象相关的属性,python中一切事物都是对象(都可以用反射)下列方法适用于类和对象:检查是否含有某属性---hasattr 返回布尔值 获取属性---getattr 没有就会报错 设置属性---setattr 删除属性---delattrimport sysclass WebServer(object): ...原创 2019-10-01 18:14:02 · 105 阅读 · 0 评论 -
利用sqlacodegen自动生成ORM实体类
1、安装pip install sqlacodegen2、使用sqlacodegen生成案列sqlacodegen --tables test --outfile ./Found.py mssql+pyodbc://sa:Nuctech_50@dsn_name原创 2019-09-30 17:35:41 · 244 阅读 · 0 评论 -
Flask之flask_migrate组件
from flask import Flaskfrom flask_script import Managerfrom sansa import dbfrom flask_migrate import Migrate,MigrateCommandapp = Flask(__name__)manager = Manager(app)migrate = Migrate(db=db...原创 2019-09-30 17:22:45 · 347 阅读 · 0 评论 -
Flask之flask-script组件
Flask Script扩展提供向Flask插入外部脚本的功能,包括运行一个开发用的服务器,一个定制的Python shell,设置数据库的脚本,cronjobs,及其他运行在web应用之外的命令行任务;使得脚本和系统分开;官方文档:http://flask-script.readthedocs.io/en/latest/from flask import Flaskfrom fla...原创 2019-09-30 16:16:12 · 193 阅读 · 0 评论 -
win10系统使用flask-sqlalchemy连接sqlserver2014报错:未发现数据源名称并且未指定默认驱动程序
错误信息:sqlalchemy.exc.InterfaceError: (pyodbc.InterfaceError) ('IM002', '[IM002] [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序 (0) (SQLDriverConnect)')解决方案:1、python配置文件中设置:SQLALCHEMY_DATABASE_U...原创 2019-09-30 14:27:20 · 1260 阅读 · 0 评论 -
pipreqs导出当前项目依赖库
1、安装pip install pipreqs2、导出依赖库在项目的当前路径输入:pipreqs ./ --encoding=utf-8来导出当前项目依赖的库pip freeze > requestments.txt 导出该电脑已经安装的python库。3、安装依赖库pip install -r requirements.txt ...原创 2019-09-30 11:52:28 · 457 阅读 · 0 评论 -
SQLAlchemy之关联子查询
#!/usr/bin/env python# -*- coding:utf-8 -*-import timeimport threadingfrom sqlalchemy.ext.declarative import declarative_basefrom sqlalchemy import Column, Integer, String, ForeignKey, UniqueCo...原创 2019-09-30 10:10:58 · 938 阅读 · 0 评论 -
Flask知识点总结
1、Flask配置文件 路由 请求相关&路由 cookie&session 模板jinja2 扩展 闪现 蓝图 中间件2、上下文管理 -----请求上下文:RequestContext ----request 保存用户请求相关信息 ----se...原创 2019-09-25 09:16:26 · 201 阅读 · 0 评论 -
Flask离线测试时,with语法使用
class SQLHelper(object): def open(self): pass def close(self): pass def fetchall(self): pass def __enter__(self): self.open() return self ...原创 2019-09-24 18:24:31 · 122 阅读 · 0 评论 -
Flask之配置文件
有很多方法,推崇的方法是:app.config.from_object('pro_flask.settings.TestingConfig')settings.pyclass Config(object): DEBUG = False TESTING = False DATABASE_URI = 'sqlite://:memory:' cl...原创 2019-08-27 15:41:26 · 92 阅读 · 0 评论 -
解决win7系统pyinstaller -D 编译生成的exe,在winserver 2012R2运行有问题
1、通过分析windows日志发现是windows库 'libopenblas.IPBC74C7KURV7CB2PKT5Z5FNR3SIBV4J.gfortran-win_amd64.dll'有问题;2、解决办法:重新编译:pyinstaller -D --hidden-import=win32timezone若编译时有警告缺少缺失了api-ms-win-crt-runtim...原创 2019-04-18 09:48:54 · 3285 阅读 · 0 评论 -
Flask-RESTful快速入门(1)
Flask-RESTful 是一个 Flask 扩展,它添加了快速构建 REST APIs 的支持。它当然也是一个能够跟你现有的ORM/库协同工作的轻量级的扩展。Flask-RESTful 鼓励以最小设置的最佳实践。如果你熟悉 Flask 的话,Flask-RESTful 应该很容易上手。1、一个最小的API#-*-coding:utf-8-*-from flask import Fl...原创 2018-12-23 16:06:14 · 1273 阅读 · 2 评论 -
深入Tornado(ubuntu14.04-desktop)
目录目录1、Application1.1、settings1.2、路由映射2、输入2.1、获取查询字符串参数2.2、 获取请求体参数2.3. 前两类方法的整合2.4. 关于请求的其他信息3、输出数据流4、cookie5、header6、writerror7、正则提取uri1、Application1.1、settings创...原创 2018-12-27 14:12:54 · 223 阅读 · 0 评论 -
初识Tornado(ubuntu14.04-desktop)
目录1、安装2、关于平台3、一个简单例子4、单线程和多线程5、optionsTornado走的是少而精的方向,注重的是性能优越,它最出名的是异步非阻塞的设计方式。HTTP服务器 异步编程 WebSockets1、安装sudo pip install tornado2、关于平台Tornado应该运行在类Unix平台,在线上部署时为了最佳的性能和扩展性,...原创 2018-12-27 12:26:26 · 197 阅读 · 0 评论 -
Flask信号源码流程剖析及源码操作流程(重要,方便找扩展点!!!)
1、介绍Flask框架中的信号基于blinker,其主要就是让开发者可以在flask请求过程中定制一些用户行为。从 Flask 0.6 开始, Flask 集成了信号支持。这个支持由 blinker 库提供, 并且当它不可用时会优雅地退回。什么是信号?信号通过发送发生在核心框架的其它地方或 Flask 扩展的动作时的通知来帮助你解耦应用。简而言之,信号允许特定的发送端通知订阅者发生了什...原创 2018-12-27 09:13:52 · 165 阅读 · 0 评论 -
Flask上下文环境(3)
目录1、应用上下文环境1.1、应用上下文的作用1.2、构建应用上下文环境1.3、应用上下文的实现方式1.4、应用上下文Hook函数2、请求上下文环境2.1、请求上下文的生命周期2.2、构建请求上下文环境2.3、请求上下文的实现方式2.4、回调和错误2.5、留意代理2.6、错误时的上下文保护3、上下文设计思想4、全局对象gFlask提供了两...原创 2018-12-20 15:55:47 · 439 阅读 · 0 评论 -
Flask快速入门(1)
目录1、Flask1.1、安装1.2、一个最小的应用1.3、外部可访问的服务器1.4、调试模式1.5、路由1.5.1、变量规则1.5.2、唯一 URL / 重定向行为1.5.3、构造 URL1.6、HTTP 方法1.7、静态文件1.8、模板渲染1.9、访问请求数据1.9.1、环境局部变量1.9.2、请求对象1.9.3、文件上传1....原创 2018-12-19 14:35:07 · 369 阅读 · 1 评论 -
python3.6 将py文件转换成EXE文件
1、打开控制台,安装python库:pip install pyinstaller2、生成exe,会在py文件同级目录下新建一个dist文件夹,exe与py文件同名,没有其他文件。pyinstaller -F test.py...原创 2018-11-16 14:26:39 · 532 阅读 · 1 评论