最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python動態(tài)加載包的方法小結(jié)

 更新時間:2016年04月18日 11:33:15   作者:anghlq  
這篇文章主要介紹了python動態(tài)加載包的方法,結(jié)合實例形式總結(jié)分析了Python動態(tài)加載模塊,動態(tài)增加屬性及動態(tài)加載包的相關(guān)實現(xiàn)技巧,需要的朋友可以參考下

本文實例總結(jié)了python動態(tài)加載包的方法。分享給大家供大家參考,具體如下:

動態(tài)加載模塊有三種方法

1. 使用系統(tǒng)函數(shù)__import_()

stringmodule = __import__('string')

2. 使用imp 模塊

import imp 
stringmodule = imp.load_module('string',*imp.find_module('string'))
imp.load_source("TYACMgrHandler_"+app.upper(), filepath)

3. 用exec

import_string = "import string as stringmodule"
exec import_string

變量是否存在

1. hasattr(Test,'t')
2. 'var'   in   locals().keys()
3. 'var'   in   dir()
4. vars().has_key('s')

動態(tài)增加屬性

class Obj(object):
  pass
def main():
  list=["a","b", "c"]
  for i inrange(1,len(list),2):
    Obj = type('Obj',(),{list[i]:lambdaself,s:obj.__setattr__(s.split(" = ")[0],s.split(" = ")[1])})
  obj =Obj()
  for i inrange(0,len(list),2):
    obj.__setattr__(list[i],list[i])  
  obj.a =1
  obj.b("a =2")
  obj.b("c =3")
  printobj.a
  printobj.c
if __name__ == '__main__':
  main()

動態(tài)載入包:

def test(s,e):
  print s
  print e
class C():
  def __init__(self,name):
    print name
  def test(self):
    print 'class!!!'

加載器代碼:

class Dynload():
  def __init__(self,package,imp_list):
    self.package=package
    self.imp=imp_list
  def getobject(self):
    return __import__(self.package,globals(),locals(),self.imp,-1)
  def getClassInstance(self,classstr,*args):
    return getattr(self.getobject(),classstr)(*args)  
  def execfunc(self,method,*args):
    return getattr(self.getobject(),method)(*args)
  def execMethod(self,instance,method,*args):
    return getattr(instance,method)(*args)
#Test:
dyn=Dynload('util.common',['*'])
ins=dyn.getClassInstance('C','gao')
dyn.execMethod(ins,'test')
dyn.execfunc('test','Hello','function!')

根據(jù)名字加載指定文件

def loadapp(self, app):
    filepath="mgr/"+app+".py"
    if os.path.exists(filepath):
      imp.load_source("TYACMgrHandler_"+app.upper(), filepath)
//修改了app.py,從新調(diào)用這個函數(shù),新的代碼自動生效

根據(jù)名字調(diào)用對應(yīng)方法

return getattr(self, op)(args.get("port"), args) //op="start" args=dict
getattr(self, self.request.method.lower())(*args, **kwargs)

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進階經(jīng)典教程》及《Python文件與目錄操作技巧匯總

希望本文所述對大家Python程序設(shè)計有所幫助。

相關(guān)文章

  • python GUI庫圖形界面開發(fā)之PyQt5選項卡控件QTabWidget詳細(xì)使用方法與實例

    python GUI庫圖形界面開發(fā)之PyQt5選項卡控件QTabWidget詳細(xì)使用方法與實例

    這篇文章主要介紹了python GUI庫圖形界面開發(fā)之PyQt5選項卡控件QTabWidget詳細(xì)使用方法與實例,需要的朋友可以參考下
    2020-03-03
  • Python的json模塊中json.load()和json.loads()的區(qū)別

    Python的json模塊中json.load()和json.loads()的區(qū)別

    這篇文章主要介紹了Python的json模塊中json.load()和json.loads()的區(qū)別,json.load用于從一個文件對象中讀取JSON數(shù)據(jù)并將其解析為Python對象,而json.loads用于解析一個JSON格式的字符串并將其轉(zhuǎn)換為Python對象,根據(jù)你的具體需求選擇使用哪個方法,需要的朋友可以參考下
    2024-12-12
  • Python tkinter的grid布局及Text動態(tài)顯示方法

    Python tkinter的grid布局及Text動態(tài)顯示方法

    今天小編就為大家分享一篇Python tkinter的grid布局及Text動態(tài)顯示方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • python?sklearn數(shù)據(jù)預(yù)處理之?dāng)?shù)據(jù)縮放詳解

    python?sklearn數(shù)據(jù)預(yù)處理之?dāng)?shù)據(jù)縮放詳解

    數(shù)據(jù)的預(yù)處理是數(shù)據(jù)分析,或者機器學(xué)習(xí)訓(xùn)練前的重要步驟,這篇文章主要為大家詳細(xì)介紹了sklearn數(shù)據(jù)預(yù)處理中數(shù)據(jù)縮放的相關(guān)知識,感興趣的小伙伴可以學(xué)習(xí)一下
    2023-10-10
  • Pygame游戲開發(fā)之太空射擊實戰(zhàn)盾牌篇

    Pygame游戲開發(fā)之太空射擊實戰(zhàn)盾牌篇

    相信大多數(shù)8090后都玩過太空射擊游戲,在過去游戲不多的年代太空射擊自然屬于經(jīng)典好玩的一款了,今天我們來自己動手實現(xiàn)它,在編寫學(xué)習(xí)中回顧過往展望未來,在本課中,我們將為玩家添加一個盾牌以及一個用于顯示盾牌等級的欄
    2022-08-08
  • Python反射的用法實例分析

    Python反射的用法實例分析

    這篇文章主要介紹了Python反射的用法,結(jié)合實例形式分析了Python反射機制所涉及的幾個常用方法與相關(guān)使用技巧,需要的朋友可以參考下
    2018-02-02
  • python 使用三引號時容易犯的小錯誤

    python 使用三引號時容易犯的小錯誤

    這篇文章主要介紹了python 使用三引號時容易犯的小錯誤,幫助新手學(xué)習(xí),避免入坑,感興趣的朋友可以了解下
    2020-10-10
  • Python中flatten( ),matrix.A用法說明

    Python中flatten( ),matrix.A用法說明

    這篇文章主要介紹了Python中flatten( ),matrix.A用法說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • Pandas中DataFrame中的nan值處理

    Pandas中DataFrame中的nan值處理

    本文主要介紹了Pandas中DataFrame中的nan值處理,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-04-04
  • 基于python使用Pillow做動態(tài)圖在圖中生成二維碼以及圖像處理

    基于python使用Pillow做動態(tài)圖在圖中生成二維碼以及圖像處理

    這篇文章主要介紹了基于python使用Pillow做動態(tài)圖在圖中生成二維碼以及圖像處理,分享pillow的一些簡單使用,喜歡的話大家可以參考文章內(nèi)容下去試試奧
    2022-02-02

最新評論

涪陵区| 麻江县| 景洪市| 蓬莱市| 兴海县| 宁远县| 天镇县| 浏阳市| 深泽县| 文山县| 蓝山县| 镇远县| 叶城县| 汉沽区| 美姑县| 双桥区| 柳河县| 孝义市| 祁东县| 淮阳县| 柞水县| 武安市| 阜新| 德州市| 美姑县| 繁峙县| 霍城县| 通州市| 沧州市| 容城县| 合江县| 青田县| 康定县| 龙胜| 青浦区| 连江县| 孟州市| 剑阁县| 翁牛特旗| 扬中市| 兴隆县|