python常被昵称为胶水语言,它能很轻松的把用其他语言制作的各种模块(尤其是C/C++)轻松联结在一起。python包含子目录中的模块方法比较简单,关键是能够在sys.path里面找到通向模块文件的路径。

下面将具体介绍几种常用情况:

(1)主程序与模块程序在同一目录下:

如下面程序结构:

  1. `-- src
  2. |-- mod1.py
  3. `-- test1.py

若在程序test1.py中导入模块mod1, 则直接使用import mod1或from mod1 import *;

(2)主程序所在目录是模块所在目录的父(或祖辈)目录

如下面程序结构:

  1. `-- src
  2. |-- mod1.py
  3. |-- mod2
  4. | `-- mod2.py
  5. `-- test1.py

若在程序test1.py中导入模块mod2, 需要在mod2文件夹中建立空文件__init__.py文件(也可以在该文件中自定义输出模块接口);

然后使用 from mod2.mod2 import * 或import mod2.mod2.

(3)主程序导入上层目录中模块或其他目录(平级)下的模块

如下面程序结构:

  1. `-- src
  2. |-- mod1.py
  3. |-- mod2
  4. | `-- mod2.py
  5. |-- sub
  6. | `-- test2.py
  7. `-- test1.py

若在程序test2.py中导入模块mod1和mod2。首先需要在mod2下建立__init__.py文件(同(2)),src下不必建立该文件。然后调用方式如下:

下面程序执行方式均在程序文件所在目录下执行,如test2.py是在cd sub;之后执行python test2.py

而test1.py是在cd src;之后执行python test1.py; 不保证在src目录下执行python sub/test2.py成功。

  1. import sys
  2. sys.path.append("..")
  3. import mod1
  4. import mod2.mod2

小结:关于详解Python模块导入方法的内容介绍完了,希望本文对你有所帮助!

最新文章

  1. 如何获得Webapp的根项目路径 即ServletContext.getRealPath() 的输入参数要以"/"开头
  2. SMARTY模板中如何使用get,post,request,cookies,session,server变量
  3. 在linux中使用cmake编译运行cocos2d-x 3.4 projects
  4. list和set的区别
  5. 关于archlinux下的ralink5370网卡
  6. No module named BeautifulSoup
  7. 写程序取自己进程的AEP
  8. java中方法的参数传递机制
  9. 实验一 windows基本网络命令
  10. SpringBoot+thymeleaf+security+vue搭建后台框架 基础篇(一)
  11. Effective java 系列之更优雅的关闭资源-try-with-resources
  12. netty拆包粘包
  13. java api 批量数据库操作
  14. Pytest+Allure定制报告
  15. 2019.02.19 bzoj2655: calc(生成函数+拉格朗日插值)
  16. SpringMVC-RESTRUL___CRUD知识点总结
  17. oracle之logminer日志分析
  18. AngularJs自定义过滤器filter
  19. windows pm2 开机启动
  20. github view source

热门文章

  1. 36、ALSA声卡驱动和应用
  2. 代码从windows下visual studio到andriod平台迁移的修改记录
  3. 借助gdb实现pstack
  4. 【23.39%】【codeforces 558C】Amr and Chemistry
  5. ios开发清除SDWebImage图片缓存
  6. hdfs的基本原理和基本操作总结
  7. [Angular] @ContentChild and ngAfterContentInit
  8. WPF之神奇的资源
  9. 【codeforces 768B】Code For 1
  10. 【bzoj2809】派遣 (左偏树)