django如何加载外部文件

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模块,系统会自动初始化

猜你喜欢

转载自www.cnblogs.com/weilaibuxiangshuo/p/10524695.html
今日推荐