浅谈python import引入不同路径下的模块
作者:jingxian 时间:2022-03-12 14:21:38
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环境变量的值,找到具体模块的路径。
这里仅介绍上面三种简单情况。
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
python 统计代码耗时的几种方法分享
![](https://img.aspxhome.com/file/2023/4/63274_0s.png)
php下使用iconv需要注意的问题
超级链接中MailTo的语法
Python上下文管理器Content Manager
超酷的js图片轮播渐变效果
![](https://img.aspxhome.com/file/UploadPic/200710/10/2007101021445381s.jpg)
使用python处理一万份word表格简历操作
![](https://img.aspxhome.com/file/2023/0/72210_0s.jpg)
Python基于Tensorflow2.X实现汽车油耗预测
![](https://img.aspxhome.com/file/2023/3/72743_0s.png)
Python 操作Excel-openpyxl模块用法实例
JavaScript 日期联动选择器
Python3列表删除的三种方式实现
![](https://img.aspxhome.com/file/2023/5/89305_0s.jpg)
opencv之为图像添加边界的方法示例
![](https://img.aspxhome.com/file/2023/7/78477_0s.png)
Django使用Mysql数据库已经存在的数据表方法
交互设计杂七杂八
![](https://img.aspxhome.com/file/UploadPic/20109/25/02-24s.jpg)
错误的随机数_JavaScript
垂直对齐:vertical-align属性
![](https://img.aspxhome.com/file/UploadPic/20087/11/2008711211236236s.gif)
Python的numpy库下的几个小函数的用法(小结)
PHP实现抓取HTTPS内容
![](https://img.aspxhome.com/file/2023/4/80514_0s.png)
关于IDEA git 只有Commit没有Push的问题
![](https://img.aspxhome.com/file/2023/7/63437_0s.png)
PHP register_shutdown_function()函数的使用示例
用Python下载一个网页保存为本地的HTML文件实例
![](https://img.aspxhome.com/file/2023/4/92044_0s.jpg)