python 导入其他目录下的模块
关键:被导入模块所在文件夹的路径需要出现在sys.path中
python中从其他目录中导入模块的关键是:系统(sys)能够找到通向模块文件的路径,即,sys.path中包含对应模块文件的路径。
python中导入其他目录下的模块,本文主要介绍以下四种情况:
- 从当前目录下导入模块
- 从当前目录的子目录中导入模块
- 从当前目录的父目录导入模块
- 通用:从任意文件夹路径下导入模块。
1. 从当前目录导入模块
这种情况的程序结构如下:
--base_dir|--module1.pydef func1()def func2()|--module2.py
要想在module2.py中导入module1.py中的func1,func2函数,直接使用以下命令即可。
# 在module2.py中
from module1 import func1,func2
2. 从当前目录的子目录中导入模块
程序结构如下所示:
--base_dir|--son_dir||--module1.pydef func1()def func2()|--module2.py
此时,要想在module2.py中导入module1.py中的func1,func2函数,需要在module1.py所在的文件夹son_dir下添加一个__init__.py文件,只有这样,son_dir才会成为一个package,否则不能调用。
此时,程序结构如下:
--base_dir|--son_dir||--__init__.py # 新增加的文件,可以为空,使son_dir变成可调用的package||--module1.pydef func1()def func2()|--module2.py
然后,就可以在module2.py中以以下形式引入module1.py中的文件。
# 在module2.py中
from son_dir.module1 import func1,func2
3. 从父目录中导入模块
程序结构示意图如下:
--base_dir|--module1.pydef func1()def func2()|--son_dir||--module2.py
我们想在 son_dir.module2.py中导入base_dir.module1.py中的func1,func2函数。
此时我们需要进行如下处理:
# 脚本 mudule2.py 中
import sys
sys.path.append("..") # 将父目录放入系统路径中,不需要再base_dir中增加__init__.py脚本。
# 备注:sys.path.append中的内容也可以是module1.py 所在文件夹的全局路径
from module1 import func1,func2
4. 通用:从任意文件夹路径下导入模块
如以上分析,python中导入某个模块,只需要该模块所在的文件夹路径在sys.path中即可,所以,我们可以用以下通用方式处理模块导入的问题。
程序结构示意图:
--any_dir1 # 任意文件夹位置|--mudule1.py def func1()def func2()--any_dir2 # 任意文件夹位置|--module2.py
我们想在module2.py中导入module1中的func1,func2,与情况3相似,我们可以用以下处理:
# 脚本 mudule2.py 中
import sys
sys.path.append("/global/path/to/any_dir1") # 将module1所在的文件夹路径放入sys.path中
from module1 import func1,func2
参考:https://blog.csdn.net/zhang89xiao/article/details/53521366
python 导入其他目录下的模块相关推荐
- python导入同目录下的模块_如何从同一目录下的模块导入?
我试图制作一个Python3.6包,但是在从包中导入时遇到了ModuleNotFound错误.包具有以下结构:project/ project/ cache/ default.py interface ...
- python导入上级目录下文件_python import 上级目录的导入
python import 上级目录的导入 有时候我们可能需要import另一个路径下的python文件,例如下面这个目录结构,我们想要在_train.py里import在networks目录下的_l ...
- python导入上级目录_Python导入上一级/下一级/任一级目录下的.py文件问题
有如下目录: -python ----file1 ---------file1_1 ------------------pfile1_1.py ---------pfile1.py ----file2 ...
- python怎么导入txt文件夹-python读取一个目录下所有txt里面的内容方法
实例如下所示: import os allFileNum = 0 def printPath(level, path): global allFileNum ''''' 打印一个目录下的所有文件夹和文 ...
- python导入同级目录 上级目录文件
pycharm不会将当前文件目录自动加入自己的sourse_path.右键make_directory as-->Sources Root将当前工作的文件夹加入source_path就可以了. ...
- python打开一个文件夹下所有txt文件-python读取一个目录下所有txt里面的内容方法...
实例如下所示: import os allFileNum = 0 def printPath(level, path): global allFileNum ''''' 打印一个目录下的所有文件夹和文 ...
- python 找出图片中的差异点,python opencv对目录下图片进行去重的技巧
使用python opencv对目录下图片进行去重的方法 版本: 平台:ubuntu 14 / I5 / 4G内存 python版本:python2.7 opencv版本:2.13.4 依赖: 如果系 ...
- 如何把 .wrl 文件转成 .ply 文件(python 一次性转换目录下所有文件)
一.概述 wrl :virtual reality world 最近在找一些大场景点云文件,找到了一些 .wrl 文件,但是这些文件需要专门的软件打开才能显示,而我一般用的都是meshlab,所以需要 ...
- python 遍历搜索 目录下所有文件
python 遍历搜索 目录下所有文件 import osdef search_dir_all_files(input_dir):files_list=[]for root, dirs, files ...
最新文章
- 阿里技术文档:Redis+Nginx+Spring全家桶+Dubbo精选
- python利器下载-Python打包利器:auto-py-to-exe
- 框架优点_铝型材框架相比其他框架的优点
- 电压压力蕊片_陶瓷压力传感器工作原理、结构及分类
- Leetcode91. Decode Ways
- 踢向《英雄王座》的面目全非脚
- sklearn特征选择类库使用小结
- 华数机器人旋转编程_华数机器人离线编程软件简介与InteRobot2018 新增功能
- 论文复现:Expressive Body Capture
- oracle 10g固定执行计划,oracle 10g执行计划 (转帖)
- 2021年高教杯数学建模国赛C题的解题过程附全部代码以及参赛论文(百度网盘)
- Excel2016 怎么做数据分类汇总
- matlab tecplot data,MATLAB讀取TECPLOT笛卡爾網格三維流場數據
- python timeit.timer_python之timeit模块
- StarUML 代码生成(C++)
- 电脑的远程控制是什么
- 某手机在-20度环境下,只能读到电池温度为-18℃
- CLIP 改进工作串讲(下)
- C语言中对结构体赋初值
- 无线条形码刷枪工作频率问题
热门文章
- zblog主题php下载,免费ZBLOG PHP主题 - ZBP免费网站目录主题
- 如何查看python的工作目录_Python3基础 os listdir curdir查看当前工作目录的所有文件的名字...
- jmoiron sqlx mysql_mysql 一(或其他数据库)
- 爆炸性环境设备通用要求标准_防爆电气设备的适用环境及温度要求
- c语言函数官网,c语言函数
- log4j.xml示例_log4j.xml示例配置
- spring boot示例_Spring Boot REST示例
- swift 的init_Swift init()
- android圆角视图_Android图库视图示例教程
- Python将字符串转换为浮点数