【有书共读21】Python编程之美 07
命令行应用
pip install --user -r requirements.txt
1.pip :命令被调用的可执行程序的名称。
2.install :参数跟在命令后边,不以破折号开始,称为参量或者子命令。
3.--user:选项以一个连字符或者两个两个连字符开始,称为标记或者开关。
常用命令:argparse、docopt、plac、click、clint、cliff。
argparse:标准库内置。提供标准的参数和选项解析功能。
docopt:开发者需要控制的帮助信息的版本。提供主函数docopt.docopt()。
plac:从一个已有函数签名自动生成帮助信息。先解析命令行参数,再将参数直接传递给函数。
click:提供装饰器来构造帮助信息和解析器。允许组合使用多个子命令。可与其他flask插件交互。
clint:为文本输出提供格式化特性。为交互式输入提供类型检查。允许直接访问参数列表。提供简单的过滤和分组工具。
cliff:为具有多个子命令的大型python项目提供结构化框架。构建交互式环境执行命令,但不需要额外编程。
图形化界面
窗口部件库:包括按钮、滑动条、滚动条、以及其他常用的用户界面控偶之和展示元素。
常用命令:TK(tcl)、SDL2(c)、Qt(c++)--PyQt、Qt(c++)--PySide、GTK(c)(GIMP工具包) --PyGObject、GTK(c)--PyGTK、wxWindows(c++)、Objective-C。
流行的游戏开发库:cocos2d、pyglet、Pygame、Pygame-SDL2、pySDL2。
web应用
- web框架/微框架
web框架包括一组库和一个主处理程序,在主处理程序中可以构建自定义代码来实现一个web应用。
1.路由器:匹配HTTP请求,由特定的python函数进行梳理。
2.处理请求和相应对象:接收自或发送给用户浏览器的信息进行封装。
3.模板渲染:将python变量注入html模板或其他输出,允许把应用逻辑与板式分开。
4.便于调试的开发环境web服务:通过微型http服务器,方便快速开发;可以在文件更新时自动重新加载服务器端代码。
常用web框架:Django、Flask、Tornado、Pyranmid。
- web模板引擎
模板引擎管理一套模板文件,以一个分层和包含系统避免不必要的重新,以应用生成的动态内容填充模板的静态内容。
在使用模板引擎,应该注意:永不胜于仓促、尽量保持模板无应用逻辑、分离JavaScript与html内容。
常用模板引擎:Jinja2、Chameleon、Mako。
- web部署
web部署包括:主机托管、web服务器。
主机托管:平台即服务(PaaS)是一类云计算基础设施,负责抽象和管理底层基础设施、路由及web应用扩容。
常用供应商:Heroku、Gondor、PythonAnywhere。
web服务器:常用的web服务器包括Nginx、Apache。
本书讨论的web应用框架都是WSGI应用。WSGI服务器负责python交互。web服务器则负责处理更适合它的任务,静态文件服务、请求路由、分布式拒绝服务(DDoS)防护、以及基础的身份认证。
流行的WSGI服务器:Gunicorn、Waitress、uWSGI。
