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的ORM框架SQLAlchemy入门教程
Apr 28 Python
python3使用requests模块爬取页面内容的实战演练
Sep 25 Python
python学习入门细节知识点
Mar 29 Python
python DataFrame获取行数、列数、索引及第几行第几列的值方法
Apr 08 Python
Python实现获取本地及远程图片大小的方法示例
Jul 21 Python
tensorflow: variable的值与variable.read_value()的值区别详解
Jul 30 Python
Python传递参数的多种方式(小结)
Sep 18 Python
python自动生成model文件过程详解
Nov 02 Python
浅谈对pytroch中torch.autograd.backward的思考
Dec 27 Python
解决TensorFlow GPU版出现OOM错误的问题
Feb 03 Python
python 下载文件的多种方法汇总
Nov 17 Python
openstack中的rpc远程调用的方法
Jul 09 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 HtmlReplace输入过滤安全函数
2010/07/03 PHP
解析thinkphp import 文件内容变量失效的问题
2013/06/20 PHP
如何解决PHP无法实现多线程的问题
2015/09/25 PHP
PHP创建/删除/复制文件夹、文件
2016/05/03 PHP
php创建多级目录与级联删除文件的方法示例
2019/09/12 PHP
TP5框架实现自定义分页样式的方法示例
2020/04/05 PHP
js arguments.callee的应用代码
2009/05/07 Javascript
关于textarea提交的内容无法换行的解决办法
2013/04/09 Javascript
使用jQuery实现的网页版的个人简历(可换肤)
2013/04/19 Javascript
Javascript中克隆一个数组的实现代码
2013/12/06 Javascript
滚动条响应鼠标滑轮事件实现上下滚动的js代码
2014/06/30 Javascript
分享20个提升网站界面体验的jQuery插件
2014/12/15 Javascript
根据user-agent判断蜘蛛代码黑帽跳转代码(js版与php版本)
2015/09/14 Javascript
jQuery实现的网页左侧在线客服效果代码
2015/10/23 Javascript
JS+html5制作简单音乐播放器
2020/09/13 Javascript
详解nodejs实现本地上传图片并预览功能(express4.0+)
2017/06/28 NodeJs
浅谈React组件之性能优化
2018/03/02 Javascript
python调用cmd命令行制作刷博器
2014/01/13 Python
python实现类似ftp传输文件的网络程序示例
2014/04/08 Python
python显示生日是星期几的方法
2015/05/27 Python
Python计算开方、立方、圆周率,精确到小数点后任意位的方法
2018/07/17 Python
Python List cmp()知识点总结
2019/02/18 Python
Python使用字典实现的简单记事本功能示例
2019/08/15 Python
python模式 工厂模式原理及实例详解
2020/02/11 Python
keras的siamese(孪生网络)实现案例
2020/06/12 Python
浅谈PyTorch中in-place operation的含义
2020/06/27 Python
Python实现文件压缩和解压的示例代码
2020/08/12 Python
加拿大大码女装购物网站:Penningtons
2020/12/26 全球购物
公司开业庆典主持词
2014/03/21 职场文书
公司周年庆典策划方案
2014/05/17 职场文书
会计专业自荐书
2014/07/08 职场文书
医德医风个人工作总结2014
2014/11/14 职场文书
2014年后勤管理工作总结
2014/12/01 职场文书
2015年七一建党节活动总结
2015/03/20 职场文书
python运行脚本文件的三种方法实例
2022/06/25 Python
LeetCode189轮转数组python示例
2022/08/05 Python