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 相关文章推荐
Python中用Ctrl+C终止多线程程序的问题解决
Mar 30 Python
python通过pil将图片转换成黑白效果的方法
Mar 16 Python
python获取标准北京时间的方法
Mar 24 Python
Python实现统计单词出现的个数
May 28 Python
如何在Python函数执行前后增加额外的行为
Oct 20 Python
Python实现随机选择元素功能
Sep 14 Python
Python探索之自定义实现线程池
Oct 27 Python
深入理解python中sort()与sorted()的区别
Aug 29 Python
python 2.7 检测一个网页是否能正常访问的方法
Dec 26 Python
Python闭包思想与用法浅析
Dec 27 Python
python 通过手机号识别出对应的微信性别(实例代码)
Dec 22 Python
python实现自动打卡的示例代码
Oct 10 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 Token(令牌)设计
2008/03/15 PHP
PHP静态调用非静态方法的应用分析
2013/05/02 PHP
php 下载保存文件保存到本地的两种实现方法
2013/08/12 PHP
php中生成随机密码的自定义函数代码
2013/10/21 PHP
ThinkPHP登录功能的实现方法
2014/08/20 PHP
php生成年月日下载列表的方法
2015/04/24 PHP
详解PHP中cookie和session的区别及cookie和session用法小结
2016/06/12 PHP
谈谈php对接芝麻信用踩的坑
2016/12/01 PHP
JS是否可以跨文件同时控制多个iframe页面的应用技巧
2007/12/16 Javascript
jQuery.prototype.init选择器构造函数源码思路分析
2013/02/05 Javascript
JavaScript实现简单的时钟实例代码
2013/11/23 Javascript
js 调用百度地图api并在地图上进行打点添加标注
2014/05/13 Javascript
JavaScript及jquey实现多个数组的合并操作
2014/09/06 Javascript
轻松创建nodejs服务器(6):作出响应
2014/12/18 NodeJs
JavaScript闭包详解
2015/02/02 Javascript
基于jquery实现三级下拉菜单
2016/05/10 Javascript
JS定时器使用,定时定点,固定时刻,循环执行详解
2016/05/31 Javascript
require简单实现单页应用程序(SPA)
2016/07/12 Javascript
清除输入框内的空格
2016/12/21 Javascript
js实现关闭网页出现是否离开提示
2017/12/07 Javascript
微信小程序上传文件到阿里OSS教程
2019/05/20 Javascript
使用webpack搭建pixi.js开发环境
2020/02/12 Javascript
使用Vant完成Dialog弹框案例
2020/11/11 Javascript
matplotlib绘制符合论文要求的图片实例(必看篇)
2017/06/02 Python
python中的随机函数小结
2018/01/27 Python
Python实现的插入排序,冒泡排序,快速排序,选择排序算法示例
2019/05/04 Python
对django views中 request, response的常用操作详解
2019/07/17 Python
python3 selenium自动化测试 强大的CSS定位方法
2019/08/23 Python
python加载自定义词典实例
2019/12/06 Python
python实现滑雪者小游戏
2020/02/22 Python
Monnier Frères美国官网:法国知名奢侈品网站
2016/11/22 全球购物
小学生秋游活动方案
2014/02/23 职场文书
乡镇组织委员个人整改措施
2014/09/16 职场文书
计划生育证明格式及范本
2014/10/09 职场文书
商务英语求职信范文
2015/03/19 职场文书
单方投资意向书
2015/05/11 职场文书