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 相关文章推荐
压缩包密码破解示例分享(类似典破解)
Jan 17 Python
Python 实现文件的全备份和差异备份详解
Dec 27 Python
python安装oracle扩展及数据库连接方法
Feb 21 Python
python 简单备份文件脚本v1.0的实例
Nov 06 Python
Python的iOS自动化打包实例代码
Nov 22 Python
详解python中@的用法
Mar 27 Python
树莓派动作捕捉抓拍存储图像脚本
Jun 22 Python
python实现二分类的卡方分箱示例
Nov 22 Python
Python hashlib常见摘要算法详解
Jan 13 Python
Python定时从Mysql提取数据存入Redis的实现
May 03 Python
在keras下实现多个模型的融合方式
May 23 Python
python中redis包操作数据库的教程
Apr 19 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
解析在zend Farmework下如何创立一个FORM表单
2013/06/28 PHP
php获取json数据所有的节点路径
2015/05/17 PHP
laravel框架实现敏感词汇过滤功能示例
2020/02/15 PHP
jquery radio 操作代码
2011/03/16 Javascript
struts2+jquery组合验证注册用户是否存在
2014/04/30 Javascript
AngularJS实现标签页的两种方式
2016/09/05 Javascript
Nodejs进阶:如何将图片转成datauri嵌入到网页中去实例
2016/11/21 NodeJs
jQGrid动态填充select下拉框的选项值(动态填充)
2016/11/28 Javascript
基于vue实现swipe分页组件实例
2017/05/25 Javascript
js canvas实现适用于移动端的百分比仪表盘dashboard
2017/07/18 Javascript
微信小程序tabBar用法实例详解
2017/12/04 Javascript
JS实现带阴历的日历功能详解
2019/01/24 Javascript
nodejs实现用户登录路由功能
2019/05/22 NodeJs
微信小程序点击顶部导航栏切换样式代码实例
2019/11/12 Javascript
JS typeof fn === 'function' && fn()详解
2020/08/22 Javascript
Python实现模拟登录及表单提交的方法
2015/07/25 Python
python如何为被装饰的函数保留元数据
2018/03/21 Python
Python中XlsxWriter模块简介与用法分析
2018/04/24 Python
python opencv实现图片旋转矩形分割
2018/07/26 Python
DES加密解密算法之python实现版(图文并茂)
2018/12/06 Python
Python3常用内置方法代码实例
2019/11/18 Python
Python reversed函数及使用方法解析
2020/03/17 Python
Python virtualenv虚拟环境实现过程解析
2020/04/18 Python
基于python实现matlab filter函数过程详解
2020/06/08 Python
python中pyplot基础图标函数整理
2020/11/10 Python
html5实现滑块功能之type="range"属性
2020/02/18 HTML / CSS
Tretorn美国官网:瑞典外套和鞋类品牌,抵御风雨
2018/07/19 全球购物
印刷工程专业应届生求职信
2013/09/29 职场文书
经理职责范文
2013/11/08 职场文书
宝宝周岁宴答谢词
2014/01/26 职场文书
《在家里》教后反思
2014/03/01 职场文书
大学生在校表现评语
2014/12/31 职场文书
企业安全隐患排查治理制度
2015/08/05 职场文书
python 定义函数 返回值只取其中一个的实现
2021/05/21 Python
Python多线程 Queue 模块常见用法
2021/07/04 Python
《传颂之物 虚伪的假面》BD发售宣传CM公开
2022/04/04 日漫