亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Python > 正文

Python重新加載模塊的實現方法

2020-02-15 23:13:40
字體:
來源:轉載
供稿:網友

importlib 模塊的作用

模塊,是一個一個單獨的py文件 包,里面包含多個模塊(py文件)

動態導入模塊,這樣就不用寫那么多的import代碼, 典型的例子: 自動同步服務,每個網站都有一個py文件。主進程里收到同步任務,根據名稱來動態導入對應的py文件,這樣就不用寫那么多的import代碼。(有點類似java的工廠方法)

但是,importlib并不能解決我在線修改py源碼,再不重啟進程的情況下,使修改生效。 這種情況,可以使用reload()

reload方法

為防止兩個模塊互相導入的問題,Python默認所有的模塊都只導入一次,如果需要重新導入模塊, Python2.7可以直接用reload(),Python3可以用下面幾種方法:

方法一:基本方法 from imp import reload reload(module)

方法二:按照套路,可以這樣 import imp imp.reload(module)

方法三:看看imp.py,有發現,所以還可以這樣 import importlib importlib.reload(module)

方法四:根據天理,當然也可以這樣 from importlib import reload reload(module)

在多進程的 程序中,一個進程的reload是無法影響另一個進程的

例子:

# 在主進程中啟動多進程def begin():  """ 啟動多進程 """  plist = []  for i in xrange(Num_process):    p = Process(target=pre_run)    p.start()    plist.append(p)  # 此進程監聽redis消息,收到消息,即執行reload方法  p = Process(target=reload_spider)  p.start()  plist.append(p)  for p in plist:    p.join()
# 監聽redis,執行reload方法def reload_spider():  """ 監聽文件變化,自動reload """  rconn = redis.Redis(host=settings.REDIS_HOST, port=settings.REDIS_PORT, db=settings.REDIS_DB, password=settings.REDIS_PW)  while True:    try:      key = 'reload-spider'      value = rconn.get(key)      print value      if value == '1':        crawler_module = importlib.import_module('crawlers.%s' % 'temp'.lower())        reload(crawler_module)        crawlerClass = getattr(crawler_module, 'temp'.upper())        print 'reload_spider 中的class: %s' % (crawlerClass.name)      # rconn.delete(key)    except Exception, e:      pass    time.sleep(3)

另一個進程打印py文件里面一個變量

crawler = get_crawler_from_factory(mq_service, message)  print crawler.name

結果發現,一個進程中進行了reload,并不能改變另外一個進程中的變量。那么在同一個進程中呢...

同一進程中,多線程,任一線程進行了reload操作,其他線程均受影響

def pre_run():  t = threading.Thread(target=reload_spider, name='LoopThread')  t.start()  # t.join()   """ 在每個進程里面再使用多線程 """  pool = ThreadPool(Num_Thread)  # 初始化mq通道  mq_service = RabbitMqService()   def callback(ch, method, properties, body):    # 消息確認    mq_service.input_channel.basic_ack(delivery_tag=method.delivery_tag)    # 獲取當前線程的名字    current_process_name = multiprocessing.current_process().name    logger.debug('當前進程名稱:%s - pid: %s' % (current_process_name, os.getpid()))    logger.debug('進程 %s,收到消息: %s' % (current_process_name, body))    # 收到任務消息,丟給線程池處理    pool.apply_async(run, (properties, body, mq_service))  # 開始監聽入口通道  mq_service.receive(callback)            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲免费电影在线观看| 国产精品最新在线观看| 日韩亚洲综合在线| 成人黄色片网站| 国精产品一区一区三区有限在线| 正在播放欧美一区| 91免费在线视频| 日韩电影第一页| 美乳少妇欧美精品| 色多多国产成人永久免费网站| 国产精品香蕉国产| 6080yy精品一区二区三区| 欧美肥老妇视频| 97超碰蝌蚪网人人做人人爽| 97激碰免费视频| 国产福利精品在线| 久久69精品久久久久久久电影好| 亚洲综合自拍一区| 欧美国产日韩二区| 亚洲四色影视在线观看| 久久中文字幕国产| 久久99青青精品免费观看| 萌白酱国产一区二区| 亚洲精品国产成人| 在线视频欧美日韩精品| 欧美一区二区三区……| 国产精品视频久久久| 在线成人一区二区| 国产啪精品视频网站| 亚洲一区二区久久久久久| 欧美日韩中文在线观看| 久久精品一本久久99精品| 孩xxxx性bbbb欧美| 欧美极品少妇xxxxⅹ裸体艺术| 国产成+人+综合+亚洲欧洲| 精品视频—区二区三区免费| 国产女人精品视频| 亚洲高清色综合| www.美女亚洲精品| 久久国产精彩视频| 色99之美女主播在线视频| 一区二区三区四区在线观看视频| 性欧美暴力猛交69hd| 日本精品久久电影| 亚洲欧美999| 精品一区二区亚洲| 日本国产欧美一区二区三区| 97久久伊人激情网| 欧美精品第一页在线播放| 日韩一区二区三区xxxx| 日韩经典第一页| 久久人人爽国产| 91久热免费在线视频| 久久久久久久久亚洲| 国产精品www网站| 日韩欧美在线免费| 国产亚洲欧洲黄色| 中文字幕在线看视频国产欧美| 成人免费看吃奶视频网站| 国产一区二中文字幕在线看| 国产91ⅴ在线精品免费观看| 国产精品国语对白| 欧美激情精品久久久久久大尺度| 国产成人精品国内自产拍免费看| 亚洲天堂一区二区三区| 性欧美xxxx交| 精品在线欧美视频| 国产精品久久久一区| 久久资源免费视频| 91精品国产精品| 最近2019年好看中文字幕视频| 亚洲精品视频二区| 久久噜噜噜精品国产亚洲综合| 日韩av电影中文字幕| 欧美一区二粉嫩精品国产一线天| 国产欧美亚洲精品| 在线视频欧美日韩| 中文字幕亚洲在线| 在线观看不卡av| 国产精品视频一区二区高潮| 欧美性xxxx18| 久久久久亚洲精品成人网小说| 精品国产31久久久久久| 国产免费亚洲高清| 91久久在线视频| 欧美精品精品精品精品免费| 亚洲国产成人久久综合| 成人有码在线播放| 欧美在线一区二区三区四| 97色在线视频观看| 91经典在线视频| 91精品国产自产91精品| zzijzzij亚洲日本成熟少妇| 亚洲成av人乱码色午夜| 欧美日韩国产激情| 久久久最新网址| 欧美一区二区三区图| 国产成人+综合亚洲+天堂| 欧美极品少妇xxxxx| 国产伊人精品在线| 亚洲mm色国产网站| 亲子乱一区二区三区电影| 欧美韩国理论所午夜片917电影| 久久国产精品偷| 国产精品免费一区| 亚洲情综合五月天| 色先锋久久影院av| 欧美有码在线观看视频| 伊人久久精品视频| 精品成人国产在线观看男人呻吟| 午夜精品一区二区三区视频免费看| 欧美理论片在线观看| 亚洲色无码播放| 国产成人精品在线| 日韩欧美在线视频日韩欧美在线视频| 福利一区视频在线观看| 国产精品日韩在线一区| 性色av一区二区三区红粉影视| 欧美日韩国产专区| 伊人伊成久久人综合网站| 69视频在线免费观看| 久久久久久久久亚洲| 精品无码久久久久久国产| 国产亚洲一区精品| 不卡中文字幕av| 欧美激情高清视频| 亚洲aⅴ日韩av电影在线观看| 综合网日日天干夜夜久久| 欧美日韩在线视频一区| 午夜精品久久久99热福利| 欧美成人免费大片| 69av在线视频| 国产成人精品免费视频| 国产精品视频在线观看| 精品性高朝久久久久久久| 亚洲美女喷白浆| 久久久久久久久久久久久久久久久久av| 成人h视频在线| 亚洲天堂成人在线| 欧美激情精品久久久久久久变态| 欧美国产精品va在线观看| 7777精品视频| 人妖精品videosex性欧美| 亚洲www永久成人夜色| 久久九九国产精品怡红院| 欧美亚洲国产另类| 精品国产精品三级精品av网址| 俺也去精品视频在线观看| 日韩欧美亚洲范冰冰与中字| 国内精品一区二区三区| 91在线|亚洲| 亚洲日韩第一页| 久久精品国产69国产精品亚洲| 亚洲精品久久久久中文字幕二区| 草民午夜欧美限制a级福利片| 清纯唯美亚洲综合| 97**国产露脸精品国产| 欧美性猛交xxxx免费看| 国产精品欧美一区二区三区奶水| 国产不卡精品视男人的天堂| 精品亚洲一区二区三区| 国产精品日韩欧美大师| 久久精品最新地址| 欧美日韩国产综合新一区|