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函数中的默认参数
Mar 30 Python
实例讲解Python设计模式编程之工厂方法模式的使用
Mar 02 Python
详解MySQL数据类型int(M)中M的含义
Nov 20 Python
python如何使用正则表达式的前向、后向搜索及前向搜索否定模式详解
Nov 08 Python
Python工程师面试必备25条知识点
Jan 17 Python
对python多线程与global变量详解
Nov 09 Python
Python3爬虫学习之将爬取的信息保存到本地的方法详解
Dec 12 Python
Django 使用easy_thumbnails压缩上传的图片方法
Jul 26 Python
Python lambda表达式filter、map、reduce函数用法解析
Sep 11 Python
python为什么会环境变量设置不成功
Jun 23 Python
如何让python的运行速度得到提升
Jul 08 Python
Django如何继承AbstractUser扩展字段
Nov 27 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
晶体管来复再生式二管收音机
2021/03/02 无线电
Thinkphp多文件上传实现方法
2014/10/31 PHP
PHP 7的一些引人注目的新特性简单介绍
2015/11/08 PHP
php 从指定数字中获取随机组合的简单方法(推荐)
2017/04/05 PHP
TP(thinkPHP)框架多层控制器和多级控制器的使用示例
2018/06/13 PHP
js 动态文字滚动的例子
2011/01/17 Javascript
手机端网页点击链接触发自动拨打或保存电话的示例代码
2014/08/15 Javascript
JavaScript sub方法入门实例(把字符串显示为下标)
2014/10/17 Javascript
JavaScript定时显示广告代码分享
2015/03/02 Javascript
下雪了 javascript实现雪花飞舞
2020/08/02 Javascript
JSONP原理及简单实现
2016/06/08 Javascript
mui开发中获取单选按钮、复选框的值(实例讲解)
2017/07/24 Javascript
浅谈vue的iview列表table render函数设置DOM属性值的方法
2017/09/30 Javascript
当vue路由变化时,改变导航栏的样式方法
2018/08/22 Javascript
JavaScript基于遍历操作实现对象深拷贝功能示例
2019/03/05 Javascript
[16:56]教你分分钟做大人:司夜刺客
2014/10/30 DOTA
在Python中移动目录结构的方法
2016/01/31 Python
Python利用带权重随机数解决抽奖和游戏爆装备问题
2016/06/16 Python
TensorFlow模型保存和提取的方法
2018/03/08 Python
Python3.5 创建文件的简单实例
2018/04/26 Python
python 文本单词提取和词频统计的实例
2018/12/22 Python
python常用库之NumPy和sklearn入门
2019/07/11 Python
Pycharm新建模板默认添加个人信息的实例
2019/07/15 Python
Python2和3字符编码的区别知识点整理
2019/08/08 Python
win10下opencv-python特定版本手动安装与pip自动安装教程
2020/03/05 Python
Django Admin后台添加数据库视图过程解析
2020/04/01 Python
美国时尚配饰品牌:Dooney & Bourke
2017/11/14 全球购物
加大码胸罩、内裤和服装:Just My Size
2019/03/21 全球购物
优秀学生干部个人的自我评价
2013/10/04 职场文书
金融行业务员的自我评价
2013/12/13 职场文书
活动倡议书范文
2014/05/13 职场文书
党员承诺书格式
2014/05/21 职场文书
村道德模范事迹材料
2014/08/28 职场文书
大学生党员暑假实践(活动总结)
2019/08/21 职场文书
创业计划书之韩国烧烤店
2019/09/19 职场文书
ThinkPHP5和ThinkPHP6的区别
2021/03/31 PHP