发布于 2016-01-09 09:44:53 | 505 次阅读 | 评论: 0 | 来源: PHPERZ
这里有新鲜出炉的Python3 官方中文指南,程序狗速度看过来!
Python编程语言
Python 是一种面向对象、解释型计算机程序设计语言,由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年。Python语法简洁而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,它能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。
这是一个如何使用python快速构建简单restful风格webservice的应用教程。
rest风格的服务通常使用web.py来创建服务器端脚本,一般情况下包含两个url路径:
一个是为了查询所有用户,一个是为了查询单个用户。
例如下面的url:
http://localhost:8080/users
http://localhost:8080/users/{id}
首先你应该安装web.py模块到你的python环境下。如果你之前没有的话请执行下面的脚本。
sudo easy_install web.py
下面是一个提供数据的XML文件
user_data.xml
< users >
< user id = "1" name = "Rocky" age = "38" />
< user id = "2" name = "Steve" age = "50" />
< user id = "3" name = "Melinda" age = "38" />
</ users >
代码清单一:提供一个简单rest服务的python代码
rest.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Date : 2014-08-04 14:03:19
# @Author : pinghailinfeng (pinghailinfeng79@gmail.com)
# @Link : http://my.oschina.net/dlpinghailinfeng
# @Version : $Id$
import web
import xml.etree.ElementTree as ET
tree = ET.parse( 'users.xml' )
root = tree.getroot()
urls = (
'/users' , 'list_users' ,
'/users/(.*)' , 'get_user'
)
app = web.application(urls, globals ())
class list_users:
def GET( self ):
output = 'users:[' ;
for child in root:
print 'child' ,child.tag,child.attrib
output + = str (child.attrib) + ','
output + = ']' ;
return output
class get_user:
def GET( self ,user):
for child in root:
if child.attrib[ 'id' ] = = user:
return str (child.attrib)
if __name__ = = '__main__' :
app.run()
接下来运行这个脚本
./rest.py
默认是在8080端口提供可以访问的service服务。这个API服务返回的是json数据,你可以使用下面任意一个URL路径访问,例如:
http://localhost:8080/users
http://localhost:8080/users/1
http://localhost:8080/users/2
http://localhost:8080/users/3
至此,一个简单的restful风格的webservice应用建立完毕。
下面继续研究web.py的其他内容