Python import自定义模块方法


Posted in Python onFebruary 12, 2015

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,"..")

c:/py25>cd sub 
c:/py25>python 
>>>#import sub #这里提示找不到 
>>>import sys 
>>>sys.path.insert(0,'..') #或者sys.path.append("..") 
>>>import sub #这里引入成功

貌似是大蛇的当前目录是"能识儿子不识父亲"的,

也就是要引入当前包的父包的话,要sys.path.insert(0,'../..')了...

以上所述是小编给大家介绍的Python import自定义模块方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
rhythmbox中文名乱码问题解决方法
Sep 06 Python
Python 互换字典的键值对实例
Feb 12 Python
python实现全盘扫描搜索功能的方法
Feb 14 Python
PyQt5 QListWidget选择多项并返回的实例
Jun 17 Python
python正则过滤字母、中文、数字及特殊字符方法详解
Feb 11 Python
解决python-docx打包之后找不到default.docx的问题
Feb 13 Python
Python request操作步骤及代码实例
Apr 13 Python
Python-for循环的内部机制
Jun 12 Python
Python Pillow(PIL)库的用法详解
Sep 19 Python
用60行代码实现Python自动抢微信红包
Feb 04 Python
python 常用的异步框架汇总整理
Jun 18 Python
python神经网络Xception模型
May 06 Python
Python实现获取某天是某个月中的第几周
Feb 11 #Python
Python脚本实现下载合并SAE日志
Feb 10 #Python
Python常用内置函数总结
Feb 08 #Python
Python文件和目录操作详解
Feb 08 #Python
Python中操作MySQL入门实例
Feb 08 #Python
Python Web框架Flask下网站开发入门实例
Feb 08 #Python
Python中使用wxPython开发的一个简易笔记本程序实例
Feb 08 #Python
You might like
php实现仿写CodeIgniter的购物车类
2015/07/29 PHP
微信支付开发动态链接Native支付
2016/07/12 PHP
PHP解压ZIP文件到指定文件夹的方法
2016/11/17 PHP
php多进程应用场景实例详解
2019/07/22 PHP
PHP实现图片防盗链破解操作示例【解决图片防盗链问题/反向代理】
2020/05/29 PHP
jQuery 操作下拉列表框实现代码
2010/02/22 Javascript
jQuery 遍历-nextUntil()方法以及prevUntil()方法的使用介绍
2013/04/26 Javascript
jquery使用$(element).is()来判断获取的tagName
2014/08/24 Javascript
原生javascript实现隔行换色
2015/01/04 Javascript
JavaScript中字符串分割函数split用法实例
2015/04/07 Javascript
JavaScript控制网页层收起和展开效果的方法
2015/04/15 Javascript
jQuery右下角旋转环状菜单特效代码
2015/08/10 Javascript
原生js中ajax访问的实例详解
2017/09/19 Javascript
JavaScript fetch接口案例解析
2018/08/30 Javascript
vue3.0 CLI - 2.1 -  component 组件入门教程
2018/09/14 Javascript
简单的React SSR服务器渲染实现
2018/12/11 Javascript
一百行JS代码实现一个校验工具
2019/04/30 Javascript
python实现备份目录的方法
2015/08/03 Python
详解Python3的TFTP文件传输
2018/06/26 Python
浅谈python下含中文字符串正则表达式的编码问题
2018/12/07 Python
python flask几分钟实现web服务的例子
2019/07/26 Python
Python人工智能之路 之PyAudio 实现录音 自动化交互实现问答
2019/08/13 Python
python求numpy中array按列非零元素的平均值案例
2020/06/08 Python
美国派对用品及装饰品网上商店:Shindigz
2016/07/30 全球购物
这76道Java面试题及答案,祝你能成功通过面试
2016/04/16 面试题
总裁办公室主任职责
2014/01/02 职场文书
家长给孩子的评语
2014/01/30 职场文书
优秀团队获奖感言
2014/02/19 职场文书
合伙协议书范本
2014/04/21 职场文书
个人授权委托书
2014/09/15 职场文书
学生实习证明范文
2014/09/28 职场文书
北京离婚协议书范文2014
2014/09/29 职场文书
教师党员个人整改措施
2014/10/27 职场文书
横空出世观后感
2015/06/09 职场文书
小学运动会宣传稿
2015/07/23 职场文书
《检阅》教学反思
2016/02/22 职场文书