av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術文章
文章詳情頁

Python如何重新加載模塊

瀏覽:4日期:2022-07-16 08:05:10

問題

你想重新加載已經加載的模塊,因為你對其源碼進行了修改。

解決方案

使用imp.reload()來重新加載先前加載的模塊。舉個例子:

>>> import spam>>> import imp>>> imp.reload(spam)<module ’spam’ from ’./spam.py’>>>>

討論

重新加載模塊在開發和調試過程中常常很有用。但在生產環境中的代碼使用會不安全,因為它并不總是像您期望的那樣工作。

reload()擦除了模塊底層字典的內容,并通過重新執行模塊的源代碼來刷新它。模塊對象本身的身份保持不變。因此,該操作在程序中所有已經被導入了的地方更新了模塊。

盡管如此,reload()沒有更新像”from module import name”這樣使用import語句導入的定義。舉個例子:

# spam.pydef bar(): print(’bar’)def grok(): print(’grok’)

現在啟動交互式會話:

>>> import spam>>> from spam import grok>>> spam.bar()bar>>> grok()grok>>>

不退出Python修改spam.py的源碼,將grok()函數改成這樣:

def grok(): print(’New grok’)

現在回到交互式會話,重新加載模塊,嘗試下這個實驗:

>>> import imp>>> imp.reload(spam)<module ’spam’ from ’./spam.py’>>>> spam.bar()bar>>> grok() # Notice old outputgrok>>> spam.grok() # Notice new outputNew grok>>>

在這個例子中,你看到有2個版本的grok()函數被加載。通常來說,這不是你想要的,而是令人頭疼的事。

因此,在生產環境中可能需要避免重新加載模塊。在交互環境下調試,解釋程序并試圖弄懂它。

以上就是Python如何重新加載模塊的詳細內容,更多關于Python重寫加載模塊的資料請關注好吧啦網其它相關文章!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 欧美二区在线 | 国产精品久久久久久久久久免费 | 99re6在线视频 | 男女爱爱福利视频 | 少妇性l交大片免费一 | 亚洲精品国产a久久久久久 中文字幕一区二区三区四区五区 | 99爱在线免费观看 | 亚洲精品一区久久久久久 | 免费黄色在线 | 2019天天干夜夜操 | 尤物在线 | 亚洲国产欧美国产综合一区 | 淫片一级国产 | 午夜精品在线观看 | 成人在线视频一区 | 狠狠伊人| 国产精品美女久久久久久不卡 | 日韩二区三区 | 99视频免费| 国产精品久久久久久久久免费樱桃 | 国产午夜精品一区二区三区嫩草 | 黄色国产在线视频 | 国产精品视频一区二区三区四蜜臂 | 人操人免费视频 | 久久精品久久久 | 波多野结衣一区二区三区在线观看 | 国产精品久久久久婷婷二区次 | 国产精品国产三级国产aⅴ无密码 | 91精品久久久久久久久 | 九九久久久 | 伊伊综合网 | 丁香婷婷综合激情五月色 | 国产一级视频免费播放 | 亚洲 欧美 日韩在线 | 国产日韩视频 | 一区二区三区高清 | 91精品国产综合久久香蕉麻豆 | 性一爱一乱一交一视频 | 中文字幕在线播放第一页 | 国产精彩视频在线观看 | 羞羞在线视频 |