有一个small case,一个简单的web界面填写两个参数,能给传递给后端,然后后端调用shell,然后将前端填写的参数传递给shell。 对于这个简单的需求,首先python搞定,本打算用tornado搞定,但想到之前学习了下bottle,简单优雅,更可以简单的解决这个问题。然后就选择web framework。python调用shell也很简单,但是有个更优雅的python的sh交互的库,就是sh,可以通过pip install sh来安装,sh真是不错,昨天看到了一个clojure的sh的DSL,发现真是异曲同工之妙。后面单独介绍下。
创建项目环境:
pip install mkvirtualenvwrapper mkvirtualenv bottle-env workon bottle-env
项目依赖:
argparse==1.2.1 bottle==0.11.6 sh==1.09 wsgiref==0.1.2
项目结构:
├── app.py
├── LICENSE
├── README.md
├── requirement.txt
└── views
├── index.tpl
└── result.tpl
简单的app.py 简单的web层
#!/usr/bin/env python #-*- coding:utf-8 -*- import sh from bottle import get, post, template, request, run #GET/ @get('/') def index(): return template('index.tpl') @post('/shell') def shell(): param1 = request.forms.get('param1') param2 = request.forms.get('param2') print "param1:%s param2:%s" % (param1, param2) #call you shell, for example ls #the sh libary is so awesome!! #if you need call local sh, you can #run_shell = sh.Command('/home/run.sh') #run_shell() result = sh.ls(param1 + param2) print "end..." return template('result.tpl', result=result) if __name__ == '__main__': run(host='0.0.0.0', port=3000, debug=True, reloader=True)
code:https://github.com/hufeng/simplesh
相关推荐
Bottle是一个简单高效的遵循WSGI的微型python+Web框架。说微型,是因为它只有一个文件,除Python标准库外,它不依赖于任何第三方模块。&oq=Bottle是一个简单高效的遵循WSGI的微型python+Web框架。说微型,是因为它...
bottle web开发 项目实战:任务管理系统,是学习pyhton的好项目。可以开发成博客系统,python是比较火
前端项目-bottleneck,Async rate limiter
python使用bottle开发APP的服务器API例子 说明: 这个例子演示了如何使用bottle为APP开发API,并将相关的数据...在windows7下开发,在centos 6.3上运行正常,mysql与服务器部署在同一个机器上。 数据库请查看test.sql
因为只是一个小的的测试工作,所以就想到了Bottle框架作为Web服务器,这里就简单说说怎样使用Bottle框架。 安装 pip install bottle 启动服务 运行下面的python脚本即可启动一个Web服务。 from bottle import ...
magic-bottle项目是一套匿名社交系统,包括Andriod、WEB管理端以及服务端,采用DDD+CQRS架构 magic-bottle项目是一套匿名社交系统,包括Andriod、WEB管理端以及服务端,采用DDD+CQRS架构 magic-bottle项目是一套...
用python的bottle.py写的一个留言本,基于sqlite3数据库。 可以作为一个bottle练笔的小例子
bottle web框架, bottle0.9说明文档,样例等
当前Python Web开发中的框架算Django最为流行了,但是本文介绍的是一个较为轻量级的Web框架:Bottle框架。理论性的东西就不讲了,直接上实例代码。 1.问题描述 最近做一个系统的后台开发,用的就是Python+Bottle...
瓶装api安装$ pip install bottle-api基本用法json_endpoint装饰器将为JSON WebAPI端点提供一个功能。 装饰的函数将返回bottle.HTTPResponse。 请参阅以下示例网络应用程序: #!pythonfrom bottleapi import ...
bottle-cork:Bottle和Flask Web框架的身份验证模块
bottle:bottle.py是用于python Web应用程序的快速,简单的微框架
主要介绍了Python的Bottle框架中实现最基本的get和post的方法的教程,Bottle框架在Python开发者中的人气很高,需要的朋友可以参考下
bottle documentation v0.11.dev HTML (zip) for offline use.
magic-bottle项目是一套匿名社交系统,包括IOS、Andriod、WEB管理端
这是一个学习型的项目,你可以通过阅读文档和源码,最终学会如何写一个web框架。 安装 $ npm i @zhengxs/bottle -S 示例 const { createApp } = require ( '@zhengxs/bottle' ) const app = createApp ( ) app . use...
瓶子登录Bottle Login -- 在 Bottle Web 框架中实现用户的会话。 内容Python> = 2.6 安装Bottle Login应该使用 pip 安装: pip install bottle-login 用法from bottle import Bottle, request, redirectfrom bottle_...
网络与通信:数据传输、信号处理、网络协议、网络与通信硬件、网络安全网络与通信是一个非常广泛的领域,它涉及到计算机科学、电子工程、数学等多个学科的知识。 云计算与大数据:数据集、包括云计算平台、大数据...