python之通过“反射”实现不同的url指向不同函数进行处理(反射应用一)

简介:

1、简单概括

下面定义了三个不同的模块用于测试,account.py 模块里有login()和logout(),admin.py模块里有index()。在这里模拟一个url的访问,意思是通过访问不同的url来指向到不同的模块里的函数进行处理,也可以说是处理这个url请求。那么这个就是通过“反射”机制来实现的。

拓展一下,现在几乎所有的语言(不管是php,python,java,.net)的web框架都是通过“反射”机制的方式来根据URL的不同来指向到不同函数里边的不同的方法来执行。


2、account.py 模块

1
2
3
4
5
6
7
8
9
10
11
12
# -*- coding: utf-8 -*-
"""
Created on Sun Nov 13 23:19:03 2016
 
@author: toby
"""
 
def  login():
     print  'login'
     
def  logout():
     print  'logout'

3、admin.py 模块

1
2
3
4
5
6
7
8
9
# -*- coding: utf-8 -*-
"""
Created on Sun Nov 13 23:19:23 2016
 
@author: toby
"""
 
def  index():
     print  '欢迎登录管理后台'

4、index-test.py 模块

1
2
3
4
5
6
7
8
9
10
11
12
13
# -*- coding: utf-8 -*-
"""
Created on Sun Nov 13 23:20:27 2016
 
@author: toby
"""
 
data  =  raw_input ( '请输入地址:' )
 
array  =  data.split( '/' )     #url规则,通过“/”来进行分割,分割后则索引0的值是模块,索引1的值是函数名
userspance  =  __import__ (array[ 0 ])     #这里导入模块,模块位于分割后的索引0位置
func  =  getattr (userspance,array[ 1 ])  #这里通过getattr来实现反射,索引1的位置为函数
func()     #执行反射后的函数


5、下面是测试结果

toby@toby-virtual-machine:~/workspace/pydev/main$ python index-test.py 
请输入地址:account/login
login
toby@toby-virtual-machine:~/workspace/pydev/main$ python index-test.py 
请输入地址:admin/index    #admin是模块,index是该模块里的一个函数 (这里模拟一个url,也可以想象成 http://192.168.1.100/admin/index)

欢迎登录管理后台    #这个输出就是index()函数里的一个动作
toby@toby-virtual-machine:~/workspace/pydev/main$ 



本文转自 TtrToby 51CTO博客,原文链接:http://blog.51cto.com/freshair/1872650


相关文章
|
7天前
|
Python
python增量赋值运算的应用
Python中的增量赋值运算符用于便捷地执行算术操作,如`+=`, `-=`等,它们分别代表加法、减法、乘法、除法、取模、整除和幂运算。
10 1
|
7天前
|
机器学习/深度学习 人工智能 算法
图像处理与分析:Python中的计算机视觉应用
【4月更文挑战第12天】Python在计算机视觉领域广泛应用,得益于其丰富的库(如OpenCV、Pillow、Scikit-image)和跨平台特性。图像处理基本流程包括获取、预处理、特征提取、分类识别及重建生成。示例代码展示了面部和物体检测,以及使用GAN进行图像生成。
|
2天前
|
机器学习/深度学习 数据采集 供应链
从数据到决策:scikit-learn在业务分析中的应用
【4月更文挑战第17天】本文探讨了scikit-learn在业务分析中的应用,包括数据预处理、分类、回归和聚类模型的构建,以及模型评估与优化。通过使用scikit-learn,企业能有效处理数据、预测趋势、客户细分并制定决策,从而提升经营效率和市场策略。随着机器学习的发展,scikit-learn在业务分析领域的潜力将持续释放,创造更多价值。
|
3天前
05-python之函数-函数的定义/函数的参数/函数返回值/函数说明文档/函数的嵌套使用/函数变量的作用域
05-python之函数-函数的定义/函数的参数/函数返回值/函数说明文档/函数的嵌套使用/函数变量的作用域
|
3天前
|
API 调度 开发者
深入理解Python异步编程:从Asyncio到实战应用
在现代软件开发中,异步编程技术已成为提升应用性能和响应速度的关键策略。本文将通过实例讲解Python中的异步编程核心库Asyncio的基本概念、关键功能以及其在Web开发中的应用。我们不仅将理论与实践结合,还将展示如何通过实际代码示例解决常见的并发问题,帮助开发者更有效地利用Python进行异步编程。
|
4天前
|
Python
python学习10-函数
python学习10-函数
|
4天前
|
Python
python学习4-内置函数range()、循环结构、循环控制语句、else语句、嵌套循环
python学习4-内置函数range()、循环结构、循环控制语句、else语句、嵌套循环
|
4天前
|
数据库 开发者 Python
Python中使用Flask构建简单Web应用的例子
【4月更文挑战第15天】Flask是一个轻量级的Python Web框架,它允许开发者快速搭建Web应用,同时保持代码的简洁和清晰。下面,我们将通过一个简单的例子来展示如何在Python中使用Flask创建一个基本的Web应用。
|
5天前
|
SQL API 数据库
Python中的SQLAlchemy框架:深度解析与实战应用
【4月更文挑战第13天】在Python的众多ORM(对象关系映射)框架中,SQLAlchemy以其功能强大、灵活性和易扩展性脱颖而出,成为许多开发者首选的数据库操作工具。本文将深入探讨SQLAlchemy的核心概念、功能特点以及实战应用,帮助读者更好地理解和使用这一框架。
|
7天前
|
测试技术 开发者 Python
Python中的装饰器:优雅而强大的函数修饰工具
在Python编程中,装饰器是一种强大的工具,用于修改函数或方法的行为。本文将深入探讨Python中装饰器的概念、用法和实际应用,以及如何利用装饰器实现代码的优雅和高效。

热门文章

最新文章