此篇僅作為工作是遇到問題的記錄,不進行任何闡述
工作問題:
模塊無法正確找到路徑,也就是sys.path里面沒有當前模塊路徑,所以導致導包出錯,索性寫個小函數,將當前項目的所有文件夾都加入sys.path模塊,一勞永逸
添加到sys.path
rootpath = os.path.dirname(os.path.dirname(os.path.dirname(__file__)))
sys.path.extend([rootpath, ])
from libs.find_path import extend_path
syspath = sys.path
sys.path.extend(extend_path([rootpath, ]))
sys.path.extend(syspath)
extend_path函數
import os
PATHList = []
DirFlag = 1
def extend_path(tlist):
"""
尋找路徑函數,解決單獨模塊找不到路徑問題
:param tlist: -> list of path
:return: -> if has dir then return dir list; else return final path list
"""
global PATHList
global DirFlag
PATHList += tlist
if DirFlag == 0:
return PATHList
ttlist = []
DirFlag = 0
for i in tlist:
for data in os.listdir(i):
tpath = os.path.join(i, data)
if os.path.isdir(tpath) and '__pycache__' not in tpath and 'migrations' not in tpath:
ttlist.append(tpath)
DirFlag = 1
return extend_path(ttlist)