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

最新文章

  1. 【ASP.NET】利用Nuget打包package——命令行方式
  2. centos7下搭建nginx+php7.1+mariadb+memcached+redis
  3. ContentProvider实现流程
  4. Android Fragment 真正的完全解析(上)
  5. get/close not same thread Druid 连接池一个设置
  6. UIDynamic仿物理引擎-浮动碰撞效果-b
  7. 【转】UIKit性能调优实战讲解
  8. 【Spring】关于SpringMvc监听的知识点
  9. 在unity3d游戏中添加中文语音控制
  10. [USACO09FEB]改造路Revamping Trails
  11. spring中bean的scope属性理解
  12. substr函数的用法
  13. Openrasp源码分析
  14. Echarts在手机端y轴数据过大,显示不全
  15. PCB画板总结
  16. 【教你玩转云计算】在阿里云一键安装快速部署Oracle11g
  17. git代码提交步骤,教程
  18. JavaMail发送邮件、带附件邮件(完整版)
  19. 安装 aconda 后Linux的终端界面前部出现(base)字样
  20. web调试-禁止/清空chrome页面缓存

热门文章

  1. 【网络编程】TCPIP-7-域名与网络地址
  2. SpringBoot JPA查询映射到自定义实体类
  3. C# 简单的对称加密
  4. QT 中的模态和非模态对话框
  5. vue-bluJavascript - Vue - 插件(swiper、vue-preview)
  6. 使用dom4j工具:xml总结
  7. Workflow Core + asp.net core 5.0 实现简单审批工作流
  8. 如何从 vue-element-admin 迁移到 Fantastic-admin
  9. linux上安装Docker (非常简单的安装方法) 2019
  10. C# .NetCore简单实现无限递归的功能