Python 反射

2016-12-15  本文已影响25人  SateZheng

反射: 通过字符串的形式来导入模块,并以字符串的形式执行函数

#例: 根据变量temp, 来导入模块 sys。这样实现了通过字符串的形式来导入模块
# 通过 __import__ 函数来获取字符串中定义的模块

temp = 'sys'
model1 = __import__(temp)

print model1.path

# 例:以字符串的形式执行函数,
# 通过 getattr 函数来获取字符串定义的模块中的方法。
func = 'path'
Func = getattr(model1, func)

for i in Func:
    print i

应用,大部分应用在web框架中。

# 目录结构: 当前目录下有backend项目包
#- backend
#   - __init__.py
#   - account.py        # 里边有 def login(): 函数
#- __init__.py
#- index.py #当前文件

# 输入 account/login
date = raw_input('输入地址: ')

lis = date.split('/')

userspance = __import__('backend.' + lis[0])

model = getattr(userspance, lis[0])

func = getattr(model, lis[1])

func()
上一篇 下一篇

猜你喜欢

热点阅读