动态导入模块__import__(str) importlib标准库
生活随笔
收集整理的這篇文章主要介紹了
动态导入模块__import__(str) importlib标准库
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
解釋器內(nèi)部使用的為_(kāi)_import__('str') #!/usr/bin/env python
# Author:Zhangmingdaprint('我是aa類 ') #被import的時(shí)候就執(zhí)行class A(object):def __init__(self):self.name = '張銘達(dá)'def getname(self):print('我是方法getname') lib目錄下的aa.py #!/usr/bin/env python
# Author:Zhangmingda
modname = 'lib.aa' #模塊名的字符串形式
modlib = __import__(modname) #通過(guò)字符串獲取模塊,獲取到的模塊名字為字符串形式點(diǎn)號(hào).以前的部分(本例為“l(fā)ib”)
modaa = modlib.aa #獲取到以后就可以各種調(diào)用賦值了
aa_obj = modaa.A() #這個(gè)aa模塊里面有個(gè)類名A,調(diào)用方法也可以直接寫(xiě)為:aa_obj = modlib.aa.A()從而省去一步
print(aa_obj.name)
aa_obj.getname() lib目錄同級(jí)的 動(dòng)態(tài)導(dǎo)入模塊.py C:\Users\Administrator\Desktop\Python3_study\venv\Scripts\python.exe C:/Users/Administrator/Desktop/Python3_study/day7/動(dòng)態(tài)導(dǎo)入模塊.py
我是aa類
張銘達(dá)
我是方法getnameProcess finished with exit code 0 執(zhí)行輸出
官方建議使用:
#!/usr/bin/env python # Author:Zhangmingda import importlib modname = 'lib.aa' #模塊名的字符串形式 # modlib = __import__(modname) #通過(guò)字符串獲取模塊,獲取到的模塊名字為字符串形式點(diǎn)號(hào).以前的部分(本例為“l(fā)ib”) # modaa = modlib.aa #獲取到以后就可以各種調(diào)用賦值了 # aa_obj = modaa.A() #這個(gè)aa模塊里面有個(gè)類名A,調(diào)用方法也可以直接寫(xiě)為:aa_obj = modlib.aa.A()從而省去一步 # print(aa_obj.name) # aa_obj.getname() aa = importlib.import_module(modname) aa_obj = aa.A() print(aa_obj.name) 標(biāo)準(zhǔn)庫(kù):importlib.py C:\Users\Administrator\Desktop\Python3_study\venv\Scripts\python.exe C:/Users/Administrator/Desktop/Python3_study/day7/動(dòng)態(tài)導(dǎo)入模塊.py 我是aa類 張銘達(dá)Process finished with exit code 0 輸出:?
轉(zhuǎn)載于:https://www.cnblogs.com/zhangmingda/p/9195334.html
總結(jié)
以上是生活随笔為你收集整理的动态导入模块__import__(str) importlib标准库的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Spring发展历程总结
- 下一篇: 虚拟机使用ESXi主机物理硬盘的办法