python 連環import問題

2021-08-27 04:00:02 字數 724 閱讀 8848

首先說明一下這是怎樣的乙個問題:

**結構如圖所示:

**如下:

#c.py

import src.a

#b.py

print("hello")

#a.py

import b

此時,我們執行c.py,會報錯:

這是為什麼呢?

原因在於當前目錄是c.py所在的目錄,而在這個目錄中沒有b.py這個模組。所以,我們該怎麼辦呢?

解決的方法是將src目錄加入到python import的尋找路徑。實現**如下:

#加入src路徑後的c.py

import os,sys

tempdir = os.path.dirname(os.path.abspath(__file__))

sys.path.insert(0,tempdir+"\\src")

import src.a

再次執行c.py,成功!輸出如下:

最後留乙個問題,如果在c.py這個目錄下放置乙個b.py。請問python 會import這個b.py還是src下的b.py?

python實現連環陣

傑洛特主動出擊狂獵的老巢,然而在此之前,他遇到了乙個女術士,傑洛特想要女術士助自己一臂之力,她卻出了乙個難題給傑洛特,只有答對了才能與他同行。女術士給傑洛特乙個四位數的素數,要求他說出這個四位數的數字的另外兩個四位素數 從小到達輸出 滿足下面條件。另外兩種組合的四位數也必須是素數 這三個四位數構成等...

每日一面系列之HashMap奪命連環問

底層資料結構是雜湊表結構 鍊錶雜湊 陣列 單向鍊錶 結合了陣列和鍊錶的優點,當鍊表長度超過8時,鍊錶會轉為紅黑樹。陣列中的每乙個元素都是鍊錶。總結來說就是hashmap在jdk1.8之前底層是由陣列 鍊錶實現的,在jdk1.8開始底層是由陣列 鍊錶或者陣列 紅黑樹實現的。追問 為什麼在1.8中增加紅...

python 模組相互import

模組a中import b,而在模組b中import a。這時會怎麼樣呢?這個在python列表中由robertchen給出了詳細解釋,抄錄如下 a.py from b import d class c pass b.py from a import c class d pass 為什麼執行a的時候不...