基本解決方案:
1、文件夾中必須有__init__.py
文件,該文件可以爲空,但必須存在該文件。
python導入同級別模塊很方便:
import xxx
要導入下級目錄頁挺方便,需要在下級目錄中寫一個__init__.py文件
from dirname import xxx
要導入上級目錄,可以使用sys.path:
首先sys.path的作用是:當使用import語句導入模塊時,解釋器會搜索當前模塊所在目錄以及sys.path指定的路徑去找需要import的模塊
所以改變思路,直接把上級目錄加到sys.path裏:sys.path.append('../')
from fatherdirname import xxx
部分同學還會出現問題:
用了上面的方法,還是會報錯,提示找不到model。這時候可能的原因:
我用的vscode。
Python在調試的時候,基礎路徑的 終端的位置。就是cmd命令行最前面打印的目錄。通過cd調整這個目錄到和程序中路徑一致的位置。
更好的解決辦法,
用下面的代碼獲取到文件的動態的絕對路徑,基於此,在代碼中調整其他文件的相對路徑。
import os,sys
parentdir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.insert(0,parentdir)