python包含子目录中的模块方法比较简单,关键是能够在sys.path里面找到通向模块文件的路径。
下面将具体介绍几种常用情况:
(1)主程序与模块程序在同一目录下:
如下面程序结构:
-- src |-- mod1.py– test1.py
若在程序test1.py中导入模块mod1, 则直接使用import mod1或from mod1 import *;

(2)主程序所在目录是模块所在目录的父(或祖辈)目录
如下面程序结构:
-- src |-- mod1.py |-- mod2 |– mod2.py
`-- test1.py
若在程序test1.py中导入模块mod2, 需要在mod2文件夹中建立空文件__init__.py文件(也可以在该文件中自定义输出模块接口); 然后使用 from mod2.mod2 import * 或import mod2.mod2.

(3)主程序导入上层目录中模块或其他目录(平级)下的模块
如下面程序结构:
-- src |-- mod1.py |-- mod2 |– mod2.py
|-- sub
| -- test2.py– 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成功。
import sys
sys.path.append("…")
import mod1
import mod2.mod2

(4)从(3)可以看出,导入模块关键是能够根据sys.path环境变量的值,找到具体模块的路径。这里仅介绍上面三种简单情况。

评论:

win下面cmd当前目录上运行python交互的时候, 当前目录如果是个python包,要在当前交互引入它, 也需要 sys.path.append("…"), 不过我个人的做法通常是sys.path.insert(0,"…")
[code]
c:/py25>cd sub
c:/py25>python

#import sub #这里提示找不到
import sys
sys.path.insert(0,’…’) #或者sys.path.append("…")
import sub #这里引入成功
[/code]
貌似是大蛇的当前目录是"能识儿子不识父亲"的,
也就是要引入当前包的父包的话,要sys.path.insert(0,’…/…’)了…

来源:https://blog.csdn.net/IAlexanderI/article/details/71429474

python import自定义模块方法相关推荐

  1. python导入自定义模块_ubuntu下Python导入自定义模块的方法

    ubuntu下Python导入自定义模块的方法 当在python程序中导入自定义模块时,若出现"Import Error:no module named xxx"表明系统在pyth ...

  2. vscode使用python导入自定义模块

    vscode中使用python引入自定义模块 在使用vscode的时候写了一些自定义模块,使用import导入模块的时候发现会出现 "No Module Name xxx(模块名称)&quo ...

  3. python 导入自定义模块

    python 导入自定义模块 文章目录 python 导入自定义模块 相同文件夹下 文件目录 `module1.py` 自定义模块 `demo.py` 引用文件 不同文件夹下 文件目录 `__init ...

  4. python导入xlsxwriter要安装什么吗_windows下安装Python的XlsxWriter模块方法

    windows下安装Python的XlsxWriter模块方法

  5. python如何自定义模块_python自定义模块和开源模块使用方法

    模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个函数才 ...

  6. python基础--自定义模块、import、from......import......

    自定义模块.import.from......import...... 1)模块的定义和分类 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例 ...

  7. python导入自定义模块_如何Import自定义的Python模块?

    原标题:如何Import自定义的Python模块? 实际工作中,经常要用的功能能不能像导入python模块一样,通过import导入呢?答案当然是可以的,本文教你如何做,大家一起来学习吧! 背景 在实 ...

  8. Python import导入模块与函数方法 Python语言基础【1】

    1 Python的语言基础 导入模块 在Python代码中导入模块需要使用 import语句语法结果如下 import module_name 使用模块中函数的语法如下 module_name.fun ...

  9. Python入门--模块,from,import,自定义模块

    #模块 #函数与模块的关系-->一个模块中可以包含N多个函数 #在Python中一个扩展名为.py的文件就是模块 #使用模块的好处 #1.方便其他程序和脚本的导入并使用 #2.避免函数名和变量名 ...

最新文章

  1. 'ScriptModel' object has no attribute 'save'
  2. android 仿京东toolbar,仿京东商城系列2------自定义toolbar
  3. entity.Database.SqlQuery() 和entity.Database.SqlCommand()
  4. python拟牛顿法迭代点绘制_拟牛顿法python
  5. 【Git笔记3】关于撤销、删除、恢复的那些事儿
  6. JAVA编译时出现的错误提示
  7. 一个图片展示效果的站点
  8. C语言的格式控制符问题
  9. WPF(Windows Presentation Foundation)Overview
  10. “请求未在nginx中配置的域名时,给浏览器返回508错误码”配置示例
  11. ORCLE INNODB 博客与 innodb_lru_scan_depth
  12. CentOS下使用TUN/TAP虚拟网卡的基本教程
  13. EDA技术实用教程 | 复习十 | 移位寄存器的行为级描述
  14. 【CentOS】scala安装
  15. 强化学习第7章——基于策略的强化学习
  16. How to cover an IE windowed control (Select Box, ActiveX Object, etc.) with a DHTML layer.
  17. html实现鼠标跟随,html5实现鼠标跟随
  18. amixer: Unable to find simple control 'Master',0
  19. Xshell的使用方法(初学者)
  20. 关于Springboot中跨域问题的解决(Response to preflight request doesn‘t pass access control check)

热门文章

  1. iOS项目的命名规范
  2. Storm计算结果是怎样存放的
  3. 基于Visua C++2010 与 Windows 7 SDK开发windows7 Shell应用(1)-搜索文件夹
  4. 23种设计模式-备忘录模式
  5. 如何把Spring Boot 项目变成一个XML配置的Spring项目
  6. Java 集合系列04之 fail-fast总结(通过ArrayList来说明fail-fast的原理、解决办法)
  7. Android6.0权限适配及兼容库的实现
  8. Nginx 的 Echo 模块 —— echo-nginx-module(转)
  9. android ListView 九大重要属性详细分析
  10. Linux线程同步读写锁 rwlock