zoukankan      html  css  js  c++  java
  • python 在不同层级目录import 模块的方法

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

    一、同级目录下的调有

    程序结构如下:

    1. -- src
    2. |-- mod1.py
    3. |-- test1.py

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

    1. import mod1
    2. from mod1 import *;

    二、调用子目录下的模块

    程序结构如下:

    1. -- src
    2. |-- mod1.py
    3. |-- lib
    4. | |-- mod2.py
    5. |-- test1.py

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

    1. from lib.mod2 import *
    2. import lib.mod2.

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

    程序结构如下:

    1. -- src
    2. |-- mod1.py
    3. |-- lib
    4. | |-- mod2.py
    5. |-- sub
    6. | |-- test2.py

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

    1. import sys
    2. sys.path.append(".."#sys.path 是一个存放环境变量的列表,可以打印print(sys.path)进行查看,添加这句话只能在运行时有效,非运行状态下会报错,不过不影响运行
    3. import mod1
    4. import mod2.mod2
  • 相关阅读:
    4、java变量、函数、基本类型的值传递、分支、循环、流程控制
    mysql-数据库维护
    mysql-安全管理
    mysql-管理事务
    mysql-触发器
    mysql-游标
    mysql-过程与函数
    ViewPager 带动画的欢迎界面
    Pull to RefreshListView 添加HeaderView
    解决 listView gridView 与ScrollView嵌套时的冲突
  • 原文地址:https://www.cnblogs.com/SuMeng/p/9109598.html
Copyright © 2011-2022 走看看