22个受欢迎的Python不同类型开源框架
lipiwang 2025-03-20 16:16 6 浏览 0 评论
以下面是我从网上整理的最受欢迎的Python开源框架。这些框架包括事件Web开发,I/O,OLAP,高性能网络通信,测试,爬虫等。
一、Python Web框架
Django: Python Web应用开发框架
链接:https://www.djangoproject.com/
Django 应该是最出名的Python框架,GAE甚至Erlang都有框架受它影响。Django是走大而全的方向,它最出名的是其全自动化的管理后台:只需要使用起ORM,做简单的对象定义,它就能自动生成数据库结构、以及全功能的管理后台。
Flask:一个用Python编写的轻量级Web应用框架
链接:https://flask.palletsprojects.com/en/2.2.x/
Flask是一个使用Python编写的轻量级Web应用框架。基于Werkzeug WSGI工具箱和Jinja2 模板引擎。Flask也被称为“microframework”,因为它使用简单的核心,用extension增加其他功能。Flask没有默认使用的数据库、窗体验证工具。
Bottle: 微型Python Web框架
链接:http://bottlepy.org/
Bottle是一个简单高效的遵循WSGI的微型python Web框架。说微型,是因为它只有一个文件,除Python标准库外,它不依赖于任何第三方模块。
webpy: 轻量级的Python Web框架
链接:https://webpy.org/
webpy的设计理念力求精简(Keep it simple and powerful),源码很简短,只提供一个框架所必须的东西,不依赖大量的第三方模块,它没有URL路由、没有模板也没有数据库的访问
Web2py:全栈式Web框架
链接:https://github.com/web2py/web2py
Web2py是一个为Python语言提供的全功能Web应用框架,旨在敏捷快速的开发Web应用,具有快速、安全以及可移植的数据库驱动的应用,兼容Google App Engine。
CubicWeb:面向对象设计的语义Web应用程序框架
链接:https://www.cubicweb.org/
一个有趣的系统,强调使用抽象和可重用的代码块称为“多维数据集”,但对于某些开发人员来说可能过于抽象或特殊。
Tornado:异步非阻塞IO的Python Web框架
链接:https://github.com/tornadoweb/tornado
Tornado的全称是Torado Web Server,从名字上看就可知道它可以用作Web服务器,但同时它也是一个Python Web的开发框架。最初是在FriendFeed公司的网站上使用,FaceBook收购了之后便开源了出来。
二、Python 事件I/O框架
Diesel:基于Greenlet的事件I/O框架
链接:http://diesel.io/
Diesel提供一个整洁的API来编写网络客户端和服务器。支持TCP和UDP。
三、Python OLAP框架
Cubes:轻量级Python OLAP框架
链接:http://cubes.databrewery.org/
Cubes是一个轻量级Python框架,包含OLAP、多维数据分析和浏览聚合数据(aggregated data)等工具。
四、Python 网络框架
Zerorpc:基于ZeroMQ的高性能分布式RPC框架
链接:https://github.com/0rpc/zerorpc-python
Zerorpc是一个基于ZeroMQ和MessagePack开发的远程过程调用协议(RPC)实现。和 Zerorpc 一起使用的 Service API 被称为 zeroservice。Zerorpc 可以通过编程或命令行方式调用。
Falcon:构建云API和网络应用后端的高性能Python框架
链接:http://falconframework.org/index.html
Falcon是一个构建云API的高性能Python框架,它鼓励使用REST架构风格,尽可能以最少的力气做最多的事情。
Twisted:底层自定义协议网络框架
链接:https://www.merriam-webster.com/dictionary/twisted
Twisted是一个高性能的编程框架。在不同的操作系统平台上,Twisted利用不同的底层技术实现了高效能通信
五、Python 测试框架
selenium:Web的自动化测试工具
链接:http://selenium-python.readthedocs.io/index.html
一个用电脑模拟人操作浏览器网页,最初是为网站自动化测试而开发的,类型像我们玩游戏用的按键精灵,可以按指定的命令自动操作,不同是Selenium 可以直接运行在浏览器上,它支持所有主流的浏览器(包括PhantomJS这些无界面的浏览器)。
unittest:标准库中自带的单元测试框架
链接:https://docs.python.org/zh-cn/3/library/unittest.html
unittest 单元测试框架是受到 JUnit 的启发,与其他语言中的主流单元测试框架有着相似的风格。其支持测试自动化,配置共享和关机代码测试。支持将测试样例聚合到测试集中,并将测试与报告框架独立。
Robot Framework:作为最重要的Python测试框架之一
链接:https://github.com/robotframework
Robot Framework主要被用在测试驱动(test-driven)类型的开发与验收中。虽然是由Python开发而来,但是它也可以在基于.Net的IronPython和基于Java的Jython上运行。同时,作为一个Python框架,Robot还能够兼容诸如Windows、MacOS、以及Linux等平台
Pytest:适用于多种软件测试的Pytest
链接:https://realpython.com/pytest-python-testing/
凭借着其开源和易学的特点,该工具经常被QA(质量分析)团队、开发团队、个人团队、以及各种开源项目所使用。鉴于Pytest具有“断言重写(assert rewriting)”之类的实用功能,许多大型互联网应用,如Dropbox和Mozilla,都已经从下面将要提到的unittest(Pyunit)切换到了Pytest之上。
六、Python 爬虫框架
Scrapy:Python的爬虫框架
链接:https://github.com/scrapy/scrapy
Scrapy是一个使用Python编写的,轻量级的,简单轻巧,并且使用起来非常的方便。
PySpider:binux做的一个爬虫架构
链接:https://github.com/binux/pyspider
强大的网络爬虫系统,并自带有强大的webUI,分布式架构,支持多种数据库后端。
Portia:一个开源可视化爬虫工具
链接:https://github.com/scrapinghub/portia
可以让使用者在不需要任何编程知识的情况下爬取网站。简单地注释自己感兴趣的页面,Portia将创建一个蜘蛛来从类似的页面提取数据。
七、其他
Kartograph.py:创造矢量地图的轻量级Python框架
链接:https://github.com/kartograph/kartograph.py
Kartograph是一个Python库,用来为ESRI生成SVG地图。Kartograph.py目前仍处于beta阶段,你可以在virtualenv环境下来测试。
Pulsar:Python的事件驱动并发框架
链接:https://github.com/quantmind/pulsar
Pulsar是一个事件驱动的并发框架,有了pulsar,你可以写出在不同进程或线程中运行一个或多个活动的异步服务器。
Dpark:Python版的Spark
链接:https://github.com/douban/dpark
DPark是Spark的Python克隆,是一个Python实现的分布式计算框架,可以非常方便地实现大规模数据处理和迭代计算。DPark由豆瓣实现,目前豆瓣内部的绝大多数数据分析都使用DPark完成,正日趋完善。
相关推荐
- httpclient+jsoup实现小说线上采集阅读
-
前言 用过老版本UC看小说的同学都知道,当年版权问题比较松懈,我们可以再UC搜索不同来源的小说,并且阅读,那么它是怎么做的呢?下面让我们自己实现一个小说线上采集阅读。(说明:仅用于技术学习、研究) ...
- Python3+requests+unittest接口自动化测试实战
-
一、Requests介绍RequestsisanelegantandsimpleHTTPlibraryforPython,builtforhumanbeings.翻译过来就是...
- 授权码 + PKCE 模式|OIDC & OAuth2.0 认证协议最佳实践系列【03】
-
在上一篇文章中,我们介绍了OIDC授权码模式,本次我们将重点围绕授权码+PKCE模式(AuthorizationCodeWithPKCE)进行介绍,从而让你的系统快速具备接入用户认...
- JWT 在 Java Web 开发中的奇妙应用
-
JWT在JavaWeb开发中的奇妙应用在当今的互联网世界里,安全始终是一个绕不开的话题。而当我们谈论到Web应用的安全性时,认证和授权绝对是其中的核心部分。说到这,我忍不住要给大家讲个笑话...
- 动手操作:一个 OAuth 2 应用程序(2) - 配置 Keycloak 为授权服务器
-
接上一篇《动手操作:一个OAuth2应用程序(1)-应用程序场景》进行场景分析后,本篇就开始动手实现授权服务器。在本文中,我们将Keycloak配置为系统的授权服务器(图3)。...
- JSON Web Token是什么?
-
JSONWebToken(缩写JWT)是目前最流行的跨域认证解决方案。传统的session认证http协议本身是一种无状态的协议,而这就意味着如果用户向我们的应用提供了用户名和密码来进行用户认证...
- Keycloak Servlet Filter Adapter使用
-
KeycloakClientAdapters简介Keycloakclientadaptersarelibrariesthatmakeitveryeasytosecurea...
- 使用JWT生成token
-
一、使用JWT进行身份验证1、传统用户身份验证Internet服务无法与用户身份验证分开。一般过程如下:用户向服务器发送用户名和密码。验证服务器后,相关数据(如用户角色,登录时间等)将保存在当前会话中...
- 在word中通过VBA调用百度翻译API在线翻译
-
一天的时间,借助各种AI终于解决了这个问题:在word中通过VBA调用百度翻译API进行在线翻译。给我的word又添加了一项神技。先上代码:Sub宏5()''宏5宏Dimapp...
- API 安全之认证鉴权
-
作者:半天前言API作为企业的重要数字资源,在给企业带来巨大便利的同时也带来了新的安全问题,一旦被攻击可能导致数据泄漏重大安全问题,从而给企业的业务发展带来极大的安全风险。正是在这样的背景下,Ope...
- 用WordPress建站哪些插件会拖慢速度影响排名?
-
你是否发现网站加载总慢半拍,SEO排名死活上不去?八成是插件惹的祸!80%的站长不知道,WordPress插件用错类型或配置不当,分分钟让网站速度暴跌,爬虫抓取效率直接砍半。缓存插件没装对,越用越卡你...
- JavaScript报错了?不要慌!怎么看怎么处理都在这里
-
在开发中,有时,我们花了几个小时写的JS代码,在游览器调试一看,控制台一堆红,瞬间一万头草泥马奔腾而来。至此,本文主要记录JS常见的一些报错类型,以及常见的报错信息,分析其报错原因,并给予处理...
-
- 跨站脚本攻击(四)
-
04XSS漏洞挖掘技巧4.1常见的绕过姿势实际应用中web程序往往会通过一些过滤规则来阻止带有恶意代码的用户输入被显示,但由于HTML语言的松散性和各种标签的不同优先级,使得我们绕过过滤规则成为了可能。4.1.1利用大小写绕过HTML标签...
-
2025-05-24 15:21 lipiwang
- WAF-Bypass之SQL注入绕过思路总结
-
过WAF(针对云WAF)寻找真实IP(源站)绕过如果流量都没有经过WAF,WAF当然无法拦截攻击请求。当前多数云WAF架构,例如百度云加速、阿里云盾等,通过更改DNS解析,把流量引入WAF集群,流量经...
- Springboot之登录模块探索(含Token,验证码,网络安全等知识)
-
简介登录模块很简单,前端发送账号密码的表单,后端接收验证后即可~淦!可是我想多了,于是有了以下几个问题(里面还包含网络安全问题):1.登录时的验证码2.自动登录的实现3.怎么维护前后端登录状态在这和大...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- maven镜像 (69)
- undefined reference to (60)
- zip格式 (63)
- oracle over (62)
- date_format函数用法 (67)
- 在线代理服务器 (60)
- shell 字符串比较 (74)
- x509证书 (61)
- localhost (65)
- java.awt.headless (66)
- syn_sent (64)
- settings.xml (59)
- 弹出窗口 (56)
- applicationcontextaware (72)
- my.cnf (73)
- httpsession (62)
- pkcs7 (62)
- session cookie (63)
- java 生成uuid (58)
- could not initialize class (58)
- beanpropertyrowmapper (58)
- word空格下划线不显示 (73)
- jar文件 (60)
- jsp内置对象 (58)
- makefile编写规则 (58)