django如何加載外部文件(環境:pycharm python2.7 django1.11)
有一份新的文件夾名為:py_aiplat_demo,內含有多個文件夾(SDK,demo,data)。
1.把文件考到項目的下面,不是app下面。
如果你想使用里面的文件夾SDK此模塊,首先你必須把它變成一個包,即內含有__init__.py文件,如果沒有,就新建一個,其它一樣
2.下面部分分為兩種方法
一.
把py_aiplat_demo整個文件夾提升為藍色文件,pycharm里的項目中,點擊該文件夾,右鍵選擇Mark Directory as 里選擇sources root
再setting文件里,添加以下句子
sys.path.insert(0, os.path.join(BASE_DIR,'py_aiplat_demo/SDK'))
即可引用文件夾SDK下面的py文件,就可以引入SDK(例:import SDK),如果是下這樣寫
sys.path.insert(0, os.path.join(BASE_DIR,'py_aiplat_demo'))
這個可以引用py_aiplat_demo下所有含有__init__.py文件夾,
二.
一樣,要把py_aiplat_demo整個文件夾提升為藍色文件,pycharm里的項目中,點擊該文件夾,右鍵選擇Mark Directory as 里選擇sources root
以上面的區別是不再setting中設置,直接到調用的文件中設置,下面是路徑一些說明
print os.path.abspath(__file__) #當前文件的絕對路徑(含文件名) print os.path.dirname(os.path.abspath(__file__)) #當前文件的路徑(不含文件名) print os.pardir #父級的文件名顯示是 .. print os.path.abspath(os.pardir) #獲取當前文件的父級文件名
以下才是正式的調用
file_path=os.path.join(os.path.abspath(os.pardir),"py_aiplat_demo\SDK") sys.path.insert(0 ,file_path) import SDK
也可以直接把寫再SDK文件夾__init__.py里面,不需要寫當前文件.py里面,以后如果需要調該sdk模塊,系統會自動初始化