python程序框架
A. python 有哪些好的 Web 框架
常见的5种Web框架:
第一个:Django
Django是一个开源的Web应用框架,由Python写成,支持许多数据库引擎,可以让Web开发变得迅速和可扩展,并会不断的版本更新以匹配Python最新版本,如果是新手程序员,可以从这个框架入手。
第二个:Flask
Flask是一个轻量级的Web应用框架,使用Python编写。基于WerkzeugWSGI工具箱和JinJa2模板引擎,使用BSD授权。
Flask也被称为microframework,因为它使用简单的核心,用extension增加其他功能。Flask没有默认使用的数据库、窗体验证工具。然而Flask保留了扩增的弹性,可以用Flask-extension加入这些功能:ORM、窗体验证工具、文件上传、各种开放式身份验证技术。
第三个:Web2py
Web2py是一个用Python语言编写的免费的开源Web框架,旨在敏捷快速的开发Web应用,具有快速、可扩展、安全以及可移植的数据库驱动的应用,遵循LGPLv3开源协议。
Web2py提供一站式的解决方案,整个开发过程都可以在浏览器上进行,提供了Web版的在线开发,HTML模板编写,静态文件的上传,数据库的编写的功能。其他的还有日志功能,以及一个自动化的admin接口。
第四个:Tornado
Tornado即是一个Webserver,同时又是一个类web.py的micro-framework,作为框架的Tornado的思想主要来源于web.PY,大家在web.PY的网站首页也可以看到Tornado的大佬Bret
Taylor的这么一段话:“[web.py inspired the] Web framework we use at FriendFeed [and] thewebapp framework that ships with App Engine…”,因为这层关系,后面不再单独讨论Tornado。
第五个:CherryPy
CherryPy是一个用于Python的、简单而非常有用的Web框架,其主要作用是以尽可能少的操作将Web服务器与Python代码连接,其功能包括内置的分析功能、灵活的插件系统以及一次运行多个HTTP服务器的功能,可运行在最新版本的Python、Jython、android上。
B. python里面哪些框架有
Django: Py Web应用开发框架
Diesel:基于Greenlet的事件I/O框架
Flask:一个用Py编写的轻量级Web应用框架
Cubes:轻量级Py OLAP框架
Kartograph.py:创造矢量地图的轻量级Py框架
Pulsar:Py的事件驱动并发框架
Web2py:全栈式Web框架
Falcon:构建云API和网络应用后端的高性能Py框架
Dpark:Py版的Spark
Buildbot:基于Py的持续集成测试框架
Zerorpc:基于ZeroMQ的高性能分布式RPC框架
Bottle: 微型Py Web框架
Tornado:异步非阻塞IO的Py Web框架
webpy: 轻量级的Py Web框架
Scrapy:Py的爬虫框架
C. python为什么这么多框架
Python的五个框架:
Django
Flask是一个微框架,最适合简单的小项目。该框架基于Jinja 2和Werkzeug开发。这个框架的主要目的是开发一个强大的web应用程序库。
特点:
· 包含开发调试器和服务器
· 有丰富的文档
· 支持安全cookie
· 基于unicode
· 单元测试集成支持
D. Python几种主流框架比较
Django:Python界最全能的Web开发框架,各种功能完备,可维护性和开发速度都非常强大。常有人说Django慢,其实主要慢在Django
ORM与数据库的交互上,所以是否选择使用Django,取决于项目对数据库交互性的要求以及各种优化。
而对于Django的同步特性导致吞吐量小的问题,其实可以通过Celery等解决,不算是什么根本问题。Django代表的项目有:Instagram、guardian等。
Flask:属于微框架的典范,也是Python代码写的最好的项目之一。Flask框架的灵活性很高,但也是一把双刃剑,能用好Flask的,可以做成Pinterest,用不好就没有什么太大的作用了。Flask虽然属于微框架,但也可以做成规模化的Flask,加上flask可以自由选择自己的数据库交互组件,再加上celery+redis等异步特性以后,flask框架的性能非常不错,之所以很多团队选择flask框架,主要原因就是对灵活性的要求。
Tornado:天生异步,性能强悍,这是它的代名词。对比Django而言,Tornado属于较为原始的框架,诸多内容需要自己去处理。不过,随着项目的不断壮大,框架能够提供的功能占比越来越小,更多的内容需要团队自己去实现,而大项目往往需要性能的保证,这时候Tornado就是非常不错的选择。代表项目:知乎等。
E. 有哪些python框架需要学习
需要学习的python框架有:1、Django,它是一个高级的python web框架,以快速开发和使用简洁的设计闻名;2、CherryPy,它是历史最久的框架之一,运行非常稳定且快速;3、Web2Py,它是一个开源、免费的web框架。
常用的五大python框架:
(推荐教程:Python入门教程)
1、Django
Django是一个高级的Python Web框架,以快速开发和实用简洁的设计闻名。它由经验丰富的开发人员构建,解决了Web开发的麻烦,因此用户可以专注于编写应用程序,而不需要担心返工。并且它是开源和免费的。
特点:
安全系数高,能帮助开发者规避常见错误。
速度特别快,因为它的设计目的是使应用程序非常快地从概念阶段过渡到最终阶段。
扩展性好。
从21世纪初Django成为开源框架到现在,它一直是最佳的归档方式。
2、CherryPy
CherryPy是历史最久的框架之一,运行非常稳定且快速。该框架允许开发人员构建web应用程序,和以Python为对象的应用程序开发过程类似,因而可在更短的时间内开发更小的源代码。
从一开始,CherryPy就被证明是高效快速的,并被许多站点用于生产,无论是最简单的站点,还是有高要求的站点。
特点:
可以在2.7+、3.5+、Jython、Android和PyPy上运行。
内置覆盖、分析和测试支持。
容易快速运行多个HTTP服务器(例如,在多个端口上)。
是为部署人员和开发人员提供的最强大的配置系统之一。
灵活的插件系统。
3、Web2Py
Web2Py是一个开源、免费的web框架,用于敏捷开发,其中包括数据库驱动的web应用程序。它是用Python编写的,并可用于python编程。它是个全堆栈框架,由开发人员构建功能齐全的web应用程序所需的所有必要组件组成。
特点:
能够简化复杂大型应用的开发
支持MVC体系结构
符合Ni配置和安装要求
提供本地化和国际化支持
4、Bottle
Bottle是一个用于Python的简单、轻量级、快速的Web服务器网关接口(WSGI)微web框架。它是作为单个文件模块分发的,除了Python标准库之外没有其他依赖项。它被设计成轻量级,允许快速有效地开发web应用程序。
特点:
内置HTTP服务器。
允许用户访问表单数据、cookie、上传文件、header和其他http相关元数据。
一个可以同时运行Python 2.5x和3.5x的文件。
5、Flask
Flask是一个微框架,最适合简单的小项目。该框架基于Jinja 2和Werkzeug开发。这个框架的主要目的是开发一个强大的web应用程序库。
特点:
包含开发调试器和服务器
有丰富的文档
支持安全cookie
基于unicode
单元测试集成支持
F. python自动化测试框架有哪些
第一种:Robot Framework
作为最重要的python测试框架之一,Robot Framework主要被用在测试驱动类型的开发与验收中。虽然由python开发而来,但是它也可以在基于.net的Ironpython和基于Java的Jython上运行。同时,作为一个python框架,Robot还能够兼容诸如Windows、MacOS、Linux等平台。
在使用Robot Framework之前,需要先安装python2.7.14及以上版本,在这里推荐大家使用python3.6.4,以确保适当的注解能够被添加到代码段中,并能够跟踪程序的更改,同时,您还需要安装python包管理器--pip。
第二种:Pytest
适用于多种软件测试的Pytest,是另一个python类型的自动化测试框架。凭借着开源和易学的特点,该工具经常被QA团体、开发团体、个人团体以及各种开源项目所使用。鉴于Pytest具有断言重写之类的实用功能,许多大型互联网应用,如Dropbox、Mozilla,都已经从下面将要提到的unittest切换到了Pytest之上。
除了基本的python知识,用户并不需要更多的技术储备。另外,用户只需要有一台带有命令行界面的测试设备,并且安装好了python包管理器以及可用于开发的IDE工具。
第三种:UnitTest/PyUnit
受到Junit启发的UnitTest/PyUnit,也是一种标准化的针对单元测试的python类自动化测试框架。它的基类TestCase提供了各种断言方法、以及所有清理和设置的例程。因此,TestCase子类中的每一种方法都是以test作为名词点缀,以标识它们能够被作为测试用例所运行。用户可以使用load方法和TestSuite类来分组、并加载各种测试。当然,也可以通过联合使用,来构建自定义的测试运行器。正如我们使用Junit去测试Selenium那样,UnitTest也会用到unittest-sml-reporting,并能生成各种XML类型的报告。
第四种:Behave
行为驱动开发是一种基于敏捷软件开发的方法。它能够鼓励开发人员、业务参与者和QA人员,三者之间的协作。python测试框架Behave允许团队避开各种复杂的情况,去执行BDD测试。从本质上说该框架与SpecFlow和Cucumber相似,常被用于执行自动化测试。用户可以通过简单易读的语言来编写测试用例,并能够在其执行期间粘贴到代码之中。而且,那些被设定的行为规范与步骤,也可以被重用到其他的测试方案中。
第五种:Lettuce
Lettuce是另一种基于Cucumber和python的行为驱动类自动化工具。Lettuce主要专注于那些具有行为驱动开发特性的普通任务。它不但简单易用,而且能够使得整个测试过程更流畅、甚至更有趣。
您需要安装带有IDE的python2.7.14及以上版本。当然,您也可以使用pycharm或任何其他IDE工具。同时,您还需要安装python包管理器。
G. python都有哪些框架
1. Django
Django是一个开源的Web应用框架,由Python写成,支持许多数据库引擎,可以让Web开发变得迅速和可扩展,并会不断的版本更新以匹配Python最新版本,如果是新手程序员,可以从这个框架入手。
2. CherryPy
CherryPy是一种用于Python的、简单而非常有用的Web框架,其主要作用是以尽可能少的操作将Web服务器与Python代码连接,其功能包括内置的分析功能、灵活的插件系统以及一次运行多个HTTP服务器的功能,可与运行在最新版本的Python、Jython、Android上。
3. Web2py
web2py
是一个为Python语言提供的全功能Web应用框架,旨在敏捷快速的开发Web应用,具有快速、安全以及可移植的数据库驱动的应用,兼容Google App
Engine。
4. TurboGears
TurboGears可以快速实现Web应用程序开发,富含丰富的特殊性能,可以解决更多的框架领域问题,从简单到复杂的项目都可以开发,并具有实时的多数据库支持和灵活的ORM,简单的文档和最小的设置使它成为一个理想的使用框架。
5. Pylons
Pylons是一个开源的Web应用框架,使用Python语言编写,它对WSGI标准进行了扩展应用,提升了重用性且将功能分割到独立的模块中,而且提供了在线调试器,易于错误跟踪!
H. python的爬虫框架有哪些
实现爬虫技术的编程环境有很多种,Java、Python、C++等都可以用来爬虫。但很多人选择Python来写爬虫,为什么呢?因为Python确实很适合做爬虫,丰富的第三方库十分强大,简单几行代码便可实现你想要的功能。更重要的,Python也是数据挖掘和分析的好能手。
高效的Python爬虫框架。分享给大家。
1.Scrapy
Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。 可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。。用这个框架可以轻松爬下来如亚马逊商品信息之类的数据。
2.PySpider
pyspider 是一个用python实现的功能强大的网络爬虫系统,能在浏览器界面上进行脚本的编写,功能的调度和爬取结果的实时查看,后端使用常用的数据库进行爬取结果的存储,还能定时设置任务与任务优先级等。
3.Crawley
Crawley可以高速爬取对应网站的内容,支持关系和非关系数据库,数据可以导出为JSON、XML等。
4、Portia:是一个开源可视化爬虫工具,可让使用者在不需要任何编程知识的情况下爬取网站!简单地注释自己感兴趣的页面,Portia将创建一个蜘蛛来从类似的页面提取数据。简单来讲,它是基于scrapy内核;可视化爬取内容,不需要任何开发专业知识;动态匹配相同模板的内容。
5.Newspaper
Newspaper可以用来提取新闻、文章和内容分析。使用多线程,支持10多种语言等。
6、Python-goose:Java写的文章提取工具。Python-goose框架可提取的信息包括:文章主体内容、文章主要图片、文章中嵌入的任何Youtube/Vimeo视频、元描述、元标签。
7.Grab
Grab是一个用于构建Web刮板的Python框架。借助Grab,您可以构建各种复杂的网页抓取工具,从简单的5行脚本到处理数百万个网页的复杂异步网站抓取工具
8、selenium:这是一个调用浏览器的driver,通过这个库你可以直接调用浏览器完成某些操作,比如输入验证码。