python在不同层级目录import模块的方法
作者:运维之路 时间:2023-02-05 01:45:03
使用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
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Python装饰器的函数式编程详解
在任意字符集下正常显示网页的方法一
python益智游戏计算汉诺塔问题示例
解决Pycharm出现的部分快捷键无效问题
![](https://img.aspxhome.com/file/2023/0/115800_0s.jpg)
Python实战之markdown转pdf(包含公式转换)
![](https://img.aspxhome.com/file/2023/8/67298_0s.png)
Pytorch中的Tensorboard与Transforms搭配使用
![](https://img.aspxhome.com/file/2023/2/62022_0s.png)
对xml操作的主要方法例子
pytorch 实现冻结部分参数训练另一部分
Python join()函数原理及使用方法
Python pandas RFM模型应用实例详解
![](https://img.aspxhome.com/file/2023/7/76977_0s.png)
用Python将结果保存为xlsx的方法
Pytorch 之修改Tensor部分值方式
PHP chr()函数讲解
![](https://img.aspxhome.com/file/2023/6/55396_0s.png)
学用代码片段
Python 平方列表中每个数字的多种操作
![](https://img.aspxhome.com/file/2023/8/64618_0s.jpg)
详解Python中表达式i += x与i = i + x是否等价
![](https://img.aspxhome.com/file/2023/4/78634_0s.png)
Python实现按照指定要求逆序输出一个数字的方法
![](https://img.aspxhome.com/file/2023/3/92523_0s.png)
一道求$b相对于$a的相对路径的php代码
Python如何实现在字符串里嵌入双引号或者单引号
![](https://img.aspxhome.com/file/2023/5/95155_0s.jpg)
R语言绘制条形图及分布密度图代码总结
![](https://img.aspxhome.com/file/2023/8/118618_0s.png)