python反射

反射就是以字符串的方式倒入模塊,以字符串的方式查找、獲取模塊。

目錄結構:


test1.py

def f1():
    return "f1"

def f2():
    return "f2"

def f3():
    return "f3"

def f4():
    return "f4"

在test2中需要引用的話,可以用如下方式:

import sys
class_name = "myreflect.test1"
aa = __import__(class_name)
print aa
print aa.test1.f1()

或者

import sys
class_name = "myreflect.test1"
aa = __import__(class_name,fromlist = True)
print aa.f1()

fromlist不設置默認爲False,只會導入第一層。


獲取模塊如下:

import sys

import_str="myreflect.test1"
aa = __import__(import_str, fromlist=True)
bb = sys.modules["myreflect.test1"]
print bb.f2()


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章