當我們導入一個模塊時:import xxx,默認情況下python解析器會搜索當前目錄、已安裝的內置模塊和第三方模塊,搜索路徑存放在sys模塊的path中:
import sys
sys.path
返回的是一個路徑列表,通常是各個包的存放路徑。因此我們需要把自己的包所在目錄給放進去。當然如果在當前目錄就不用了。
通常使用os.path.abspath(__file__)得到當前文件路徑再使用os.path.dirname()獲得上一級目錄。但是要注意的是os.path.abspath(__file__)一定要在文件中運行,不要直接在命令行里面跑。
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.append(BASE_DIR)
要注意的是,如果要使用import導入函數,請一定在要導入的文件所在目錄下加上"__init__.py"文件,它可以是空的,作用是將該目錄變為package。
