在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

一文理解python模塊的緩存

python爬蟲知識分享 ? 來源:python爬蟲知識分享 ? 作者:python爬蟲知識分享 ? 2022-03-14 16:42 ? 次閱讀

在一個模塊內部重復引用另一個相同模塊,實際并不會導入兩次,原因是在使用關鍵字 import 導入模塊時,它會先檢索 sys.modules 里是否已經載入這個模塊了,如果已經載入,則不會再次導入,如果不存在,才會去檢索導入這個模塊。

來實驗一下,在 my_mod02 這個模塊里,我 import 兩次 my_mod01 這個模塊,按邏輯每一次 import 會一次 my_mod01 里的代碼(即打印 in mod01),但是驗證結果是,只打印了一次。

$ cat my_mod01.py
print('in mod01')

$ cat my_mod02.py
import my_mod01
import my_mod01

$ python my_mod02.py
in mod01

該現象的解釋是:因為有 sys.modules 的存在。

sys.modules 是一個字典(key:模塊名,value:模塊對象),它存放著在當前 namespace 所有已經導入的模塊對象。

# test_module.py

import sys
print(sys.modules.get('json', 'NotFound'))

import json
print(sys.modules.get('json', 'NotFound'))

運行結果如下,可見在 導入后 json 模塊后,sys.modules 才有了 json 模塊的對象。

$ python test_module.py
NotFound

由于有緩存的存在,使得我們無法重新載入一個模塊。

但若你想反其道行之,可以借助 importlib 這個神奇的庫來實現。事實也確實有此場景,比如在代碼調試中,在發現代碼有異常并修改后,我們通常要重啟服務再次載入程序。這時候,若有了模塊重載,就無比方便了,修改完代碼后也無需服務的重啟,就能繼續調試。

還是以上面的例子來理解,my_mod02.py 改寫成如下

# my_mod02.py

import importlib
import my_mod01
importlib.reload(my_mod01)

與上面不同的是,這邊執行了兩次 my_mod01.py

$ python3 my_mod02.py
in mod01
in mod01

審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 模塊
    +關注

    關注

    7

    文章

    2729

    瀏覽量

    47616
  • 緩存
    +關注

    關注

    1

    文章

    240

    瀏覽量

    26713
  • python
    +關注

    關注

    56

    文章

    4802

    瀏覽量

    84885
收藏 人收藏

    評論

    相關推薦

    HTTP緩存頭的使用 本地緩存與遠程緩存的區別

    HTTP緩存頭是組HTTP響應頭,它們控制瀏覽器和中間代理服務器如何緩存網頁內容。合理使用HTTP緩存頭可以顯著提高網站的加載速度和性能,減少服務器的負載。 1. HTTP
    的頭像 發表于 12-18 09:41 ?141次閱讀

    文理解多模態大語言模型——下

    /understanding-multimodal-llms ? 《文理解多模態大語言模型 - 上》介紹了什么是多模態大語言模型,以及構建多模態 LLM 有兩種主要方式之:統嵌入
    的頭像 發表于 12-03 15:18 ?166次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文理解</b>多模態大語言模型——下

    文理解多模態大語言模型——上

    利于中文讀者理解的目標,做了刪減、重構和意譯,并替換了多張不適合中文讀者的示意圖。 原文地址:https://magazine.sebastianraschka.com/p
    的頭像 發表于 12-02 18:29 ?396次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文理解</b>多模態大語言模型——上

    緩存之美——如何選擇合適的本地緩存

    Guava cache是Google開發的Guava工具包中套完善的JVM本地緩存框架,底層實現的數據結構類似于ConcurrentHashMap,但是進行了更多的能力拓展,包括緩存過期時間設置、
    的頭像 發表于 11-17 14:24 ?379次閱讀
    <b class='flag-5'>緩存</b>之美——如何選擇合適的本地<b class='flag-5'>緩存</b>?

    文理解2.5D和3D封裝技術

    隨著半導體行業的快速發展,先進封裝技術成為了提升芯片性能和功能密度的關鍵。近年來,作為2.5D和3D封裝技術之間的種結合方案,3.5D封裝技術逐漸走向前臺。
    的頭像 發表于 11-11 11:21 ?1457次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文理解</b>2.5D和3D封裝技術

    文理解布隆過濾器和布谷鳥過濾器

    是否存在集合中 。布隆過濾器并不存儲集合中的所有元素,而是存儲元素的哈希表示,因此犧牲了些精確性: 當布隆過濾報告某元素在集合中不存在時,那么它定不存在;報告某元素存在時,允許出現“假陽性”,有時會錯誤地報告某個元
    的頭像 發表于 11-07 10:10 ?752次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文理解</b>布隆過濾器和布谷鳥過濾器

    如何實現Python復制文件操作

    Python 中有許多“開蓋即食”的模塊(比如 os,subprocess 和 shutil)以支持文件 I/O 操作。在這篇文章中,你將會看到些用 Python 實現文件復制的特殊
    的頭像 發表于 07-18 14:53 ?449次閱讀

    opencv-python和opencv樣嗎

    樣。OpenCV(Open Source Computer Vision Library)是個開源的計算機視覺和機器學習軟件庫,它提供了大量的圖像和視頻處理功能。OpenCV-Python
    的頭像 發表于 07-16 10:38 ?1313次閱讀

    python訓練出的模型怎么調用

    使用pickle模塊 pickle 是Python個內置模塊,用于序列化和反序列化Python對象結構。使用 pickle 可以方便地
    的頭像 發表于 07-11 10:15 ?2132次閱讀

    使用Python進行自然語言處理

    在探討使用Python進行自然語言處理(NLP)的廣闊領域時,我們首先需要理解NLP的基本概念、其重要性、Python在NLP中的優勢,以及如何通過Python實現
    的頭像 發表于 07-04 14:40 ?479次閱讀

    請問STM8S105的連續ADC轉換模式怎么理解

    10個緩存區,STM8S105;只能對個通道做連續轉換并且緩存10個轉換結果。??是不是這樣理解; 2,如果是上面的理解正確;如果我想在
    發表于 05-14 07:39

    如何使用Python生成四位隨機數字

    為了實現這些目標,Python 為我們提供了random() 模塊。random() 是個內置的 Python 模塊,用于生成隨機數。
    的頭像 發表于 04-15 12:47 ?713次閱讀

    基于Python的地圖繪制教程

    本文將介紹通過Python繪制地形圖的方法,所需第三方Python相關模塊包括 rasterio、geopandas、cartopy 等,可通過 pip 等方式安裝。
    的頭像 發表于 02-26 09:53 ?1275次閱讀
    基于<b class='flag-5'>Python</b>的地圖繪制教程

    Python智能家居系統代碼介紹

    Python智能家居系統是種基于Python編程語言開發的智能家居控制系統,在現代家庭中得到了越來越廣泛的應用。本文將詳細介紹Python智能家居系統的代碼實現,包括系統的結構與功能
    的頭像 發表于 01-25 09:46 ?1416次閱讀

    如何選擇合適的本地緩存

    小編最近在使用系統的時候,發現盡管應用已經使用了 redis 緩存提高查詢效率,但是仍然有進步優化的空間,于是想到了比分布式緩存性能更好的本地緩存,因此對領域內常用的本地
    的頭像 發表于 01-18 11:19 ?877次閱讀
    如何選擇合適的本地<b class='flag-5'>緩存</b>?
    主站蜘蛛池模板: 34pao强力打造免费永久视频 | 丁香六月五月婷婷 | 狠狠五月天 | a一级黄| 色视频免费在线观看 | 天天干2018 | 亚洲午夜久久 | 亚洲国产日韩欧美在线as乱码 | 黄色v片| 欧美性猛交xxxx黑人猛交 | 手机在线观看你懂的 | 性喷潮久久久久久久久 | 美国69bj | 天天爱夜夜爱 | 欧美激情伊人 | 四虎影院永久免费观看 | 四虎免费永久观看 | 精品一区二区三区视频 | 日本毛片在线观看 | 永久黄网站色视频免费观看99 | 久久狠狠色噜噜狠狠狠狠97 | 婷婷综合亚洲 | 美女扒尿口给男人桶到爽 | 午夜影院在线免费 | 色一情一乱一乱91av | 丁香花成人另类小说 | 美女视频一区二区 | 影音先锋ady69色资源网站 | 日本不卡在线播放 | 人人草人人 | 亚洲国产成人久久一区www | 色播影院性播影院私人影院 | 麻豆国产一区二区在线观看 | 98pao强力打造高清免费 | 亚洲精品成人a在线观看 | 四虎国产精品视频免费看 | 日本黄色片段 | 色宅男看片午夜大片免费看 | 五月天激情开心网 | 婷婷丁香色综合狠狠色 | 黄色在线视频免费 |