python 反射器

 1 #!/usr/bin/env python3
 2 # -*- coding: utf-8 -*-
 3 """
 4 @author: zengchunyun
 5 """
 6 import os
 7 import sys
 8 
 9 # Build paths inside the project like this: os.path.join(BASE_DIR, ...)
10 BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
11 sys.path.append(BASE_DIR)
12 '/Users/zengchunyun/Documents/PycharmProjects/s12/day11/myfort/bin/myfort.py'  # 目标模块
13 '/Users/zengchunyun/Documents/PycharmProjects/s12/day11/ext/redirt.py'  # 执行模块
14 
15 # from ..myfort.core.shortcuts import runserver
16 # 通过加入path变量后,
17 
18 str1 = "myfort.core.shortcuts"
19 package = __import__(str1)  # 导入shortcuts模块,并执行模块
20 if hasattr(package, 'core'):  # 由于是非同级目录,package只导入了myfort.core,并执行了shortcuts
21     module = getattr(package, 'core')  # 我们需要执行的是指定的函数,所以需要再获取一次,首先获取core目录下的所有模块
22     func = getattr(module, 'shortcuts')  # 然后在core目录下找shortcuts模块
23     func.runserver()  # 执行shortcuts模块的函数

 

posted @ 2016-03-30 16:07  曾春云  阅读(306)  评论(0编辑  收藏  举报