浅谈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读取csv文件示例(python操作csv)
Mar 11 Python
Python编写生成验证码的脚本的教程
May 04 Python
python3实现抓取网页资源的 N 种方法
May 02 Python
python微元法计算函数曲线长度的方法
Nov 08 Python
python实现QQ邮箱/163邮箱的邮件发送
Jan 22 Python
Python3.5基础之函数的定义与使用实例详解【参数、作用域、递归、重载等】
Apr 26 Python
Python中使用双下划线防止类属性被覆盖问题
Jun 27 Python
Python进程间通信 multiProcessing Queue队列实现详解
Sep 23 Python
python的json中方法及jsonpath模块用法分析
Dec 06 Python
利用jupyter网页版本进行python函数查询方式
Apr 14 Python
PyInstaller运行原理及常用操作详解
Jun 13 Python
Python通用验证码识别OCR库ddddocr的安装使用教程
Jul 07 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
PHP XML操作类DOMDocument
2009/12/16 PHP
用PHP实现 上一篇、下一篇的代码
2012/09/29 PHP
php实例分享之html转为rtf格式
2014/06/02 PHP
ucenter中词语过滤原理分析
2016/07/13 PHP
编写兼容IE和FireFox的脚本
2009/05/18 Javascript
复制Input内容的js代码_支持所有浏览器,修正了Firefox3.5以上的问题
2010/06/21 Javascript
jQuery实战之仿淘宝商城左侧导航效果
2011/04/12 Javascript
JavaScript实现页面滚动图片加载(仿lazyload效果)
2011/07/22 Javascript
jQuery 获取兄弟元素的几种不错方法
2014/05/23 Javascript
js实现文章文字大小字号功能完整实例
2014/11/01 Javascript
javascript中Array数组的迭代方法实例分析
2015/02/04 Javascript
分享一则JavaScript滚动条插件源码
2015/03/03 Javascript
浅谈JavaScript中数组的增删改查
2016/06/20 Javascript
JS实现的幻灯片切换显示效果
2016/09/07 Javascript
基于Bootstrap和jQuery构建前端分页工具实例代码
2016/11/23 Javascript
Vant的安装和配合引入Vue.js项目里的方法步骤
2018/12/05 Javascript
JS异步错误捕获的一些事小结
2019/04/26 Javascript
vue监听用户输入和点击功能
2019/09/27 Javascript
python使用webbrowser浏览指定url的方法
2015/04/04 Python
在Mac OS上部署Nginx和FastCGI以及Flask框架的教程
2015/05/02 Python
python将unicode转为str的方法
2017/06/21 Python
python的numpy模块安装不成功简单解决方法总结
2017/12/23 Python
几个适合python初学者的简单小程序,看完受益匪浅!(推荐)
2019/04/16 Python
python爬虫豆瓣网的模拟登录实现
2019/08/21 Python
详解从Django Allauth中进行登录改造小结
2019/12/18 Python
python面向对象之类属性和类方法案例分析
2019/12/30 Python
python如何把字符串类型list转换成list
2020/02/18 Python
python re.match()用法相关示例
2021/01/27 Python
35款精致的 CSS3 和 HTML5 网页模板 推荐
2012/08/03 HTML / CSS
Canvas与Image互相转换示例代码
2013/08/09 HTML / CSS
详解前端HTML5几种存储方式的总结
2016/12/27 HTML / CSS
C/C++有关内存的思考题
2015/12/04 面试题
《特殊的葬礼》教学反思
2014/04/27 职场文书
公司酒会主持词
2015/07/02 职场文书
小学毕业感言100字
2015/07/30 职场文书
学校财务管理制度
2015/08/04 职场文书