91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第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

    文章

    2788

    瀏覽量

    50429
  • 緩存
    +關注

    關注

    1

    文章

    246

    瀏覽量

    27192
  • python
    +關注

    關注

    56

    文章

    4827

    瀏覽量

    86798
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    高性能緩存設計:如何解決緩存偽共享問題

    在多核高并發場景下, 緩存偽共享(False Sharing) 是導致性能驟降的“隱形殺手”。當不同線程頻繁修改同緩存行(Cache Line)中的獨立變量時,CPU緩存
    的頭像 發表于 07-01 15:01 ?132次閱讀
    高性能<b class='flag-5'>緩存</b>設計:如何解決<b class='flag-5'>緩存</b>偽共享問題

    MCU緩存設計

    MCU 設計通過優化指令與數據的訪問效率,顯著提升系統性能并降低功耗,其核心架構與實現策略如下: 緩存類型與結構 指令緩存(I-Cache)與數據緩存(D-Cache)? I-Ca
    的頭像 發表于 05-07 15:29 ?360次閱讀

    Nginx緩存配置詳解

    Nginx 是個功能強大的 Web 服務器和反向代理服務器,它可以用于實現靜態內容的緩存緩存可以分為客戶端緩存和服務端緩存
    的頭像 發表于 05-07 14:03 ?598次閱讀
    Nginx<b class='flag-5'>緩存</b>配置詳解

    nginx中強緩存和協商緩存介紹

    緩存直接告訴瀏覽器:在緩存過期前,無需與服務器通信,直接使用本地緩存
    的頭像 發表于 04-01 16:01 ?384次閱讀

    運行OVModelForCausalLM Python模塊時出錯了,怎么解決?

    創建了個自定義 Python* 代碼,類似于遵循 240-dolly-2-instruction 的 Jupyter 筆記本。 OVModelForCausalLM Python*
    發表于 03-05 06:44

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

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

    什么是緩存(Cache)及其作用

    緩存(Cache)是種高速存儲器,用于臨時存儲數據,以便快速訪問。在計算機系統中,緩存的作用是減少處理器訪問主存儲器(如隨機存取存儲器RAM)所需的時間。 緩存(Cache)概述
    的頭像 發表于 12-18 09:28 ?1.2w次閱讀

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

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

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

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

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

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

    Python編程:處理網絡請求的代理技術

    在網絡編程中,代理技術扮演著至關重要的角色,尤其在處理網絡請求時。通過代理服務器,我們可以實現請求的轉發、緩存、負載均衡以及安全控制等功能。Python作為種功能強大的編程語言,為提供了豐富的工具和庫,以便敏捷地實現和處理網絡
    的頭像 發表于 11-12 07:23 ?545次閱讀

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

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

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

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

    Python常用函數大全

    Python 世界里,有些寶藏函數和模塊,它們可以讓你編程更輕松、代碼更高效。這篇文章將帶你一一認識這些神器,讓你的開發生活瞬間輕松不少!
    的頭像 發表于 10-27 17:20 ?921次閱讀

    什么是CPU緩存?它有哪些作用?

    CPU緩存(Cache Memory)是計算機系統中個至關重要的組成部分,它位于CPU與內存之間,作為兩者之間的臨時存儲器。CPU緩存的主要作用是減少CPU訪問內存所需的時間,從而提高系統的整體性能。以下將詳細闡述CPU
    的頭像 發表于 08-22 14:54 ?6178次閱讀
    主站蜘蛛池模板: 天天操天天摸天天射 | japan高清视频乱xxxxx | 黄网站色成年片大免费软件 | 伊人久色 | 一级一黄在线观看视频免费 | 国模欢欢大尺度 | 日本黄色一级网站 | 韩国在线视频 | 夜夜夜精品视频免费 | 2016天天干| 三级黄色在线视频中文 | 女人张开腿让男人桶免费网站 | 久久国产精品系列 | 午夜精品久久久久久久第一页 | 狠狠色噜噜狠狠狠狠米奇7777 | 18毛片| 男人日女人视频免费看 | 五月婷婷丁香在线视频 | 精品香港经典三级在线看 | 性做久久久久久久久 | 欧美xingai| 日本黄色高清视频网站 | 天天做天天添天天谢 | 欧美日本一区二区 | 伊人yinren6综合网色狠狠 | 一本大道高清在线视频 视频 | 三级视频网站在线观看播放 | 欧美三级一区 | 久久国产精品久久久久久久久久 | 91在线电影 | 毛片黄色| 能看的黄网 | 国产资源视频在线观看 | 日本精品视频四虎在线观看 | 亚洲aa| 美女被网站免费看九色视频 | 成人欧美一区二区三区小说 | 午夜免费毛片 | 日本a级特黄三级三级三级 日本边添边爱边摸边做边爱 | 精品视频在线观看视频免费视频 | 一级特黄牲大片免费视频 |