python在不同层级目录import模块的方法

转自:https://www.cnblogs.com/luoye00/p/5223543.html

使用python进行程序编写时,经常会使用第三方模块包。这种包我们可以通过python setup install 进行安装后,通过import XXX或from XXX import yyy 进行导入。不过如果是自己遍写的依赖包,又不想安装到python的相应目录,可以放到本目录里进行import进行调用;为了更清晰的理清程序之间的关系,例如我们会把这种包放到lib目录再调用。本篇就针对常见的模块调用方法汇总下。

一、同级目录下的调用

程序结构如下:


-- src
    |-- mod1.py
    |-- test1.py


若在程序test1.py中导入模块mod1, 则直接使用

import mod1

from mod1 import *;

二、调用子目录下的模块


程序结构如下:

-- src
    |-- mod1.py
    |-- lib
    |    |-- mod2.py
    |-- test1.py


这时看到test1.py和lib目录(即mod2.py的父级目录),如果想在程序test1.py中导入模块mod2.py ,可以在lib件夹中建立空文件__init__.py文件(也可以在该文件中自定义输出模块接口),然后使用:

from lib.mod2 import *

import lib.mod2.


三、调用上级目录下的文件


程序结构如下:

-- src
    |-- mod1.py
    |-- lib
    |    |-- mod2.py
    |-- sub
    |    |-- test2.py


这里想要实现test2.py调用mod1.py和mod2.py ,做法是我们先跳到src目录下面,直接可以调用mod1,然后在lib上当下建一个空文件__init__.py ,就可以像第二步调用子目录下的模块一样,通过import  lib.mod2进行调用了。具体代码如下:

import sys
sys.path.append("..")
import mod1
import mod2.mod2

 

转载于:https://www.cnblogs.com/Ivyli4258/p/7856708.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/428553.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

谷歌翻译无法连接网络_window10无法连接网络

很多朋友都将电脑的系统升级到Win10,如果遇到了Win10系统无法连接网络该如何解决,下面就为大家介绍一下解决的方法。window10无法连接网络一、检查路由器1、重新启动(断电10秒钟) 无线路由器和猫(调制解调器),有时候是路由器的故障&#xff1…

php: +1天, +3个月, strtotime(): +1 day, +3 month

php: 1天, 3个月, strtotime(): 1 day, 3 month 比如,我现在当前时间基础上1天: strtotime("1 day"); 比如我现在,2014-05-01时间上 3个月 $s strtotime("2014-05-01"); $d strtotime("3 month", $s); 转载…

获取弹出的窗口_Win7系统如何获取设置everyone权限的问题

一位win7之家系统的小伙伴,想要在电脑系统中获取everyone权限,但是不知道该怎么做,对于Win7电脑如何获取设置everyone权限这个问题,小编觉得我们可以在电脑的计算机中找到相关的磁盘,打开磁盘属性然后在安全选项中进行…

异步请求中jetty处理ServletRequestListener的坑

标题起得比较诡异,其实并不是坑,而是jetty似乎压根就没做对异步request的ServletRequestListener的特殊处理,如果文中有错误欢迎提出,可能自己有所疏漏了。 之前遇到了一个bug,在Listener中重写requestDestroyed清理资…

Maven国内镜像 Maven阿里云镜像

<mirror><id>nexus-aliyun</id><mirrorOf>central</mirrorOf><name>Nexus aliyun</name><url>http://maven.aliyun.com/nexus/content/groups/public</url> </mirror> 转载于:https://www.cnblogs.com/a2b1/p/787…

华为h22h05服务器做raid_华为V5服务器 RAID控制卡(LSI SAS3008IR)

提供高速接口和模块LSI SAS3008IR的PCIe Core提供PCIe x8接口&#xff0c;每lane速率为8Gb/s&#xff0c;可以兼容x1、x2、x4配置&#xff1b;支持PCIe 3.0规格&#xff0c;兼容PCIe 2.x和PCIe 1.x。LSI SAS3008IR的SAS模块提供SAS功能&#xff0c;并定义支持的硬盘速率。LSI S…

通过tomcat日志定位错误

1、tomcat的安装路径下tomcat home下的common文件夹下的classes文件夹中创建log4j.properties文件&#xff0c;即 apache-tomcat-5.5.20\common\classes log4j.rootLoggerinfo,Console,Rlog4j.appender.Consoleorg.apache.log4j.ConsoleAppenderlog4j.appender.Console.layouto…

css加了固定定位就不显示内容_前端开发必备,学好”定位“向菜鸟说拜拜

众所周知&#xff0c;前端CSS中&#xff0c;盒模型、浮动、定位为必须掌握的三座大山。今天就来聊聊定位的那些事。定位是什么&#xff1f;先来看看哪些场景用到定位&#xff0c;如下图所示&#xff0c;凡是有盒子压住另一个盒子的地方都可定位&#xff0c;因为用浮动做不了&am…

vscode更换主题的插件_VScode 插件开发(三)主题

咱们上回书说道&#xff0c;安装完基础环境&#xff0c;我们要来玩自己的主题了1. 创建一个主题项目$ yo code选中 New Color Theme接下来照图中所选&#xff0c;完成项目创建(简单英语不做解释)打开项目如图2. 配置文件2.1 themes这个文件夹包含主题配置文件&#xff0c;可以新…

sql之引擎介绍

数据库引擎介绍MySQL数据库引擎取决于MySQL在安装的时候是如何被编译的。要添加一个新的引擎&#xff0c;就必须重新编译MYSQL。在缺省情况下&#xff0c;MYSQL支持三个引擎&#xff1a;ISAM、MYISAM和HEAP。另外两种类型INNODB和BERKLEY&#xff08;BDB&#xff09;&#xff0…

jquery查找ul属性不是hide,jQuery的ul显示/隐藏功能

Im trying to hide my divs which will have content in them when finished. I have a jsFiddle file and some of the coding is not complete, just wrote it very fast to give you an idea.I believe that the ul is making it not be created correctly.解决方案The html…

HttpContext

相关知识点&#xff1a;ttp://www.cnblogs.com/wujy/p/3264475.htmlHttpContext context HttpContext.Current; if( context ! null ) {// 在这里访问与请求有关的东西。 } 记录当前用户信息的线程当前线程是指与【当前请求】相关的线程。在ASP.NET中&#xff0c;有些线程并非…

mysql if 多个_MySQL使用IF语句CONCAT多个字段

语法不正确.你想使用CASE&#xff1a;SET loc_name Location;SET add_street Add Street;SET add_number 10;SET x_street_1 Street 1;SET x_street_2 Street 2;SET city City;SET state State;SET country Country;SELECT Concat(loc_name, \n, CASEWHEN add_number !…

IOS+Android马甲包封装上架!

目的 我们有自己的一个主网站平台&#xff0c;为了推广我们的主网站平台&#xff0c;我们需要长期制作大量马甲app&#xff0c;然后引导用户到我们的主网站游戏&#xff0c;所以&#xff0c;你制作的app的功能只给审核人员看到&#xff0c;只是为了应付审核&#xff0c;app上架…

软件工程概论课后作业01

1. 网站系统开发需要掌握的技术 ①java语言 Java语言体系比较庞大&#xff0c;包括多个模块。从WEB项目应用角度讲有JSP&#xff0c;Servlet&#xff0c;JDBC&#xff0c;JavaBean&#xff08;Application&#xff09;四部分技术。JDBC可做三件事情&#xff1a;与数据库建立连接…

mysql low_case_MySQL8.0的坑之lower_case_table_names

在安装了8.0.14之后&#xff0c;初始化的时候在my.cnf里设置了lower_case_table_names1&#xff0c;安装好了之后&#xff0c;启动报错&#xff1a;2019-01-28T13:24:24.91946308:00 0 [System] [MY-010116] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.14) starting as…

php5.4 mysql connect_php5.4 Call to undefined function mysql_connect()

今天学习PHP中连接MySQL&#xff0c;使用mysql_connect()函数时&#xff0c;碰到以下错误&#xff1a;“Call to undefined function mysql_connect()”&#xff0c;PHP版本&#xff1a;5.4.29MySQL版本&#xff1a;5.5.28Apache版本&#xff1a;2.2.22解决方法如下&#xff1a…

Js slice()方法和splice()方法

1、slice(start,end) 从已有的数组中返回选定元素,参数start必填&#xff0c;end选填 <script>delArray();function delArray(){var workExp["早上","中午","下午","晚上"];var a workExp.slice(0,3);//早上&#xff0c;中午&am…

mysql 参数bug_MySQL 的这个 BUG,坑了多少人?

作者&#xff1a;腾讯数据库技术来源&#xff1a;cloud.tencent.com/developer/article/1367681▌问题描述近期&#xff0c;线上有个重要Mysql客户的表在从5.6升级到5.7后&#xff0c;master上插入过程中出现"Duplicate key"的错误&#xff0c;而且是在主备及RO实例上…

mongodb 2php 操作

1连接 db.getCollection(test).find({}) // 连接Mongo数据库 数据库地址:端口/账号:密码; $mongo new Mongo(mongodb://localhost:27017/admin:admin); $this->link new \MongoClient(mongodb://user:passwordhost:port/dbname); // 选择一个数据库和要操作的集(如果没有…