浅谈python import引入不同路径下的模块


Posted in Python onJuly 11, 2017

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环境变量的值,找到具体模块的路径。

这里仅介绍上面三种简单情况。

以上这篇浅谈python import引入不同路径下的模块就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python检测字符串中是否包含某字符集合中的字符
May 21 Python
Python设计模式中单例模式的实现及在Tornado中的应用
Mar 02 Python
解决python3 urllib中urlopen报错的问题
Mar 25 Python
Python语言生成水仙花数代码示例
Dec 18 Python
Python设计模式之建造者模式实例详解
Jan 17 Python
Python音频操作工具PyAudio上手教程详解
Jun 26 Python
解决Django 在ForeignKey中出现 non-nullable field错误的问题
Aug 06 Python
python的mysql数据库建立表与插入数据操作示例
Sep 30 Python
Python 日期的转换及计算的具体使用详解
Jan 16 Python
opencv 形态学变换(开运算,闭运算,梯度运算)
Jul 07 Python
python中取绝对值简单方法总结
Jul 24 Python
Python猫眼电影最近上映的电影票房信息
Sep 18 Python
python 环境变量和import模块导入方法(详解)
Jul 11 #Python
Python编写登陆接口的方法
Jul 10 #Python
CentOS中升级Python版本的方法详解
Jul 10 #Python
pygame 精灵的行走及二段跳的实现方法(必看篇)
Jul 10 #Python
Python 实现数据库更新脚本的生成方法
Jul 09 #Python
Python 实现数据库(SQL)更新脚本的生成方法
Jul 09 #Python
解决python文件字符串转列表时遇到空行的问题
Jul 09 #Python
You might like
Terran魔法科技
2020/03/14 星际争霸
冰滴咖啡制作步骤
2021/03/03 冲泡冲煮
用PHP制作静态网站的模板框架(一)
2006/10/09 PHP
php编译安装php-amq扩展简明教程
2016/06/25 PHP
PHP使用DOM和simplexml读取xml文档的方法示例
2017/02/08 PHP
元素的内联事件处理函数的特殊作用域在各浏览器中存在差异
2011/01/12 Javascript
JS 两日期相减,获得天数的小例子(兼容IE,FF)
2013/07/01 Javascript
js中点击空白区域时文本框与隐藏层的显示与影藏问题
2013/08/26 Javascript
JavaScript+CSS控制打印格式示例介绍
2014/01/07 Javascript
node.js中的buffer.Buffer.isEncoding方法使用说明
2014/12/14 Javascript
JavaScript模拟重力状态下抛物运动的方法
2015/03/03 Javascript
javascript格式化指定日期对象的方法
2015/04/21 Javascript
在百度搜索结果中去除掉一些网站的资料(通过js控制不让显示)
2017/05/02 Javascript
bootstrap fileinput组件整合Springmvc上传图片到本地磁盘
2017/05/11 Javascript
React Js 微信禁止复制链接分享禁止隐藏右上角菜单功能
2017/05/26 Javascript
解决BootStrap Fileinput手机图片上传显示旋转问题
2017/06/01 Javascript
Vue-Access-Control 前端用户权限控制解决方案
2017/12/01 Javascript
手把手15分钟搭一个企业级脚手架
2019/09/16 Javascript
Vue学习笔记之计算属性与侦听器用法
2019/12/07 Javascript
ES6中Promise的使用方法实例总结
2020/02/18 Javascript
jQuery--遍历操作实例小结【后代、同胞及过滤】
2020/05/22 jQuery
利用js实现简易红绿灯
2020/10/15 Javascript
创建与框架无关的JavaScript插件
2020/12/01 Javascript
ES5和ES6中类的区别总结
2020/12/21 Javascript
[05:37]DOTA2-DPC中国联赛 正赛 Elephant vs iG 选手采访
2021/03/11 DOTA
python数据结构之图深度优先和广度优先实例详解
2015/07/08 Python
Python实现DDos攻击实例详解
2019/02/02 Python
Python零基础入门学习之输入与输出
2019/04/03 Python
python regex库实例用法总结
2021/01/03 Python
HTML5制作3D爱心动画教程 献给女友浪漫的礼物
2014/11/05 HTML / CSS
Html5页面获取微信公众号的openid的方法
2020/05/12 HTML / CSS
ECCO英国官网:丹麦鞋履品牌
2019/09/03 全球购物
QA工程师岗位职责
2013/11/20 职场文书
餐厅楼面主管岗位职责范本
2014/02/16 职场文书
医学生自我鉴定范文
2014/03/26 职场文书
基于Python编写一个监控CPU的应用系统
2022/06/25 Python