flask [微型网络开发框架]

# http://dormousehole.readthedocs.org/en/latest/

# html放在 ./templates/ js放在 ./static/

request.args.get(‘page’, 1) # 获取参数 ?page=1

request.json # 获取传递的整个json数据

request.form.get(“host”,’127′) # 获取表单值

简单实例 # 接收数据和展示

import MySQLdb as mysql

from flask import

app =

db.autocommit(True)

c = db.cursor()

“””

CREATE TABLE `statusinfo` (

`id` int(11) unsigned NOT NULL AUTO_INCREMENT,

`hostname` varchar(32) NOT NULL,

`load` float(10) NOT NULL

`time` int(15) NOT NULL,

`memtotal` int(15) NOT NULL,

`memusage` int(15) NOT NULL,

`memfree` int(15) NOT NULL,

PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=161

“””

@app.route(“/collect”, methods=[“GET”, “

def collect():

sql = “”

if request.method == “

data = request.json # 获取传递的json

hostname = data[“Host”]

load = data[“LoadAvg”]

time = data[“Time”]

memtotal = data[“MemTotal”]

memusage = data[“MemUsage”]

memfree = data[“MemFree”]

try:

sql = “INSERT INTO `statusinfo` (`hostname`,`load`,`time`,`memtotal`,`memusage`,`memfree`) VALUES(‘%s’, %s, %s, %s, %s, %s);” % (hostname, load,time,memtotal,memusage,memfree)

ret = c.execute(sql)

return ‘ok’

except mysql.IntegrityError:

return ‘errer’

@app.route(“/show”, methods=[“GET”, “POST”])

def show():

try:

hostname = request.form.get(“hostname”) # 获取表单方式的变量值

sql = “SELECT `load` FROM `statusinfo` WHERE hostname = ‘%s’;” % (hostname)

c.execute(sql)

ones = c.fetchall()

return render_template(“sysstatus.html”, data=ones, sql = sql)

except:

print ‘hostname null’

from flask import render_template

@app.route(“/xxx/“)

def hello_xx(name):

return render_template(“sysstatus.html”, name=’teach’)

if __name__ == “__main__”:

app.run(host=”0.0.0.0″, port=50000, debug=True)

twisted [非阻塞异步服务器框架]

# 用来进行网络服务和应用程序的编程。虽然 Twisted Matrix 中有大量松散耦合的模块化组件,但该框架的中心概念还是非阻塞异步服务器这一思想。对于习惯于线程技术或分叉服务器的开发人员来说,这是一种新颖的编程风格,但它却能在繁重负载的情况下带来极高的效率。

pip install twisted

from twisted.internet import protocol, reactor, endpoints

class Echo(protocol.Protocol):

def dataReceived(self, data):

self.transport.write(data)

class EchoFactory(protocol.Factory):

def buildProtocol(self, addr):

return Echo()

endpoints.serverFromString(reactor, “tcp:1234”).listen(EchoFactory())

reactor.run()

greenlet [微线程/协程框架]

# 更加原始的微线程的概念,没有调度,或者叫做协程。这在你需要控制你的代码时很有用。你可以自己构造微线程的 调度器;也可以使用”greenlet”实现高级的控制流。例如可以重新创建

pip install greenlet

tornado [极轻量级Web服务器框架]

# 高可伸缩性和epoll非阻塞IO,响应快速,可处理数千并发连接,特别适用用于实时的Web服务

# http://www.tornadoweb.cn/documentation

pip install tornado

import tornado.ioloop

import tornado.web

class MainHandler(tornado.web.RequestHandler):

def get(self):

self.write(“Hello, world”)

application = tornado.web.Application([

(r”/”, MainHandler),

])

if __name__ == “__main__”:

application.listen(8888)

tornado.ioloop.IOLoop.instance().start()

# Python开发的一个快速,高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。

pip install scrapy

from scrapy import Spider, Item, Field

class Post(Item):

title = Field()

class BlogSpider(Spider):

name, start_urls = ‘blogspider’, [‘http://blog.scrapinghub.com’]

def parse(self, response):

return [Post(title=e.extract()) for e in response.css(“h2 a::text”)]

scrapy runspider myspider.py

django [重量级web框架]

bottle [轻量级的Web框架]

学习本来是一件很有乐趣的事情,但是我们做好,就一定努力学习,和深深度思考如何做好,苦没有什么,但是就是怕吃苦,你才觉得辛苦。本文学习仅供参考真正学习还是需要系统学习,思维和逻辑 项目和指导.可以加群:516126034。

python必学_Python必学框架相关推荐

  1. python find函数_Python 速学!不懂怎么入门python的小白看这篇就够了!

    Python是一种非常流行的脚本语言,而且功能非常强大,几乎可以做任何事情,比如爬虫.网络工具.科学计算.树莓派.Web开发.游戏等各方面都可以派上用场.同时无论在哪种平台上,都可以用 Python ...

  2. loglevel python 不输出_Python 通过 Celery 框架实现分布式任务队列!

    Celery 是一个简单.灵活且可靠的分布式消息处理系统,主要用来作为任务队列对海量消息数据进行实时的处理,在多个程序线程或者主机之间传递和分发工作任务.同时也支持计划任务等需求. 一.环境配置 Ce ...

  3. python apscheduler执行_Python下定时任务框架APScheduler的使用

    今天准备实现一个功能需要用到定时执行任务,所以就看到了Python的一个定时任务框架APScheduler,试了一下感觉还不错. 1.APScheduler简介: APScheduler是Python ...

  4. python cookie池_Python爬虫scrapy框架Cookie池(微博Cookie池)的使用

    下载代码Cookie池(这里主要是微博登录,也可以自己配置置其他的站点网址) 下载代码GitHub:https://github.com/Python3WebSpider/CookiesPool 下载 ...

  5. python自动化测试登录_Python selenium自动化测试框架入门实战--登录测试案例

    本文为Python自动化测试框架基础入门篇,主要帮助会写基本selenium测试代码又没有规划的同仁. 本文应用到POM模型.selenium.unittest框架.configparser配置文件. ...

  6. python bottle部署_python之bottle框架配置(非虚拟地址 和 虚拟地址 都有)

    参考 :https://blog.csdn.net/iloster/article/details/41803383 0.安装python yum install python pip install ...

  7. python gevent教程_Python的gevent框架的入门教程

    Python通过yield提供了对协程的基本支持,但是不完全.而第三方的gevent为Python提供了比较完善的协程支持. gevent是第三方库,通过greenlet实现协程,其基本思想是: 当一 ...

  8. python bootstrap安装_Python+Django+Bootstrap 框架环境搭建

    标签: 1.安装python和pip(python.pip安装自行百度,pip是一个安装和管理 Python 包的工具) 2.配置python环境变量(python和scripts目录都需要配置) 3 ...

  9. python数据驱动库_python webdriver测试框架--数据驱动DB驱动

    简介: 数据驱动数据库驱动方式,就是数据配置在数据库里面,主程序调用的时候每次用从数据库里取出的数据作为参数,进行操作, 需要掌握的地方是对数据库的操作,要灵活的找到目标数据 测试数据: 创建数据库. ...

最新文章

  1. 计算机类英语怎么学,计算机专业英语教程视频
  2. Spring4-HelloWorld
  3. Linux 修改SSH 默认端口 22,防止被破解密码
  4. 每天多一点(2016.12.04)》Javascript隐式转换
  5. 排序算法模板(C语言版)
  6. LiveVideoStackCon讲师热身分享 ( 十二 ) —— 微博短视频高并发架构
  7. 写给自己,梳理一下我现在对前端知识结构的理解
  8. 【干货】奢侈品线上消费圈层洞察-阿里妈妈.pdf(附下载链接)
  9. 瑞星09年第一季度安全报告:8亿网民遭木马攻击
  10. java遍历hashMap、hashSet、Hashtable
  11. ios客户端快速滚动和回弹效果的实现
  12. 卷积神经网络的工作原理
  13. htb:Starting Point
  14. wps在线编辑梳理(此处整理了对接过后容易出错的地方)
  15. amCharts 报表(转)
  16. vue中 基于echart地图功能 省级地图下钻和返回、发射线、水波涟漪等功能展示
  17. 突破NVIDIA NVENC并发Session数目限制
  18. beautifulsoup的用法
  19. 6D模型:超越PDCA
  20. Java 11 JDK

热门文章

  1. 华为荣耀手机指令代码大全_双十二,华为/荣耀手机推荐选购指南,全系列横评推荐,那一款华为/荣耀手机最值得够买...
  2. java线程数翻倍性能翻倍_术业专攻 | 如何让Java Web性能翻倍?
  3. Python中必知的知识点:文本转义及编码的常用方法
  4. 学习Python一定要知道的在定义变量中的三个特征
  5. 一文读懂:从 Python 打包到 CLI 工具
  6. mysql的驱动connect放在哪里_Python连接数据库两种方法,QSqlDatabase,pymmsql,驱动名...
  7. Linux 用户空间和内核空间指的是什么?
  8. python如何将视频流实时传输到手机?(有问题,一次只能被一台访问)
  9. 树状数组 求 逆序对
  10. 宁波php吧,2020年9月程序员工资统计,平均14469元