python模块以及import 报错:ImportError: No module named myModule
1、什么是python包?
python中,每个py文件被称之为模块,每个具有__init__.py文件的目录被称为包。只要模块或者包所在的目录在sys.path中,就可以使用import 模块或import包来使用。
比如下面这个web_monitor项目,共有3个包:conf、db、utils。这3个包中的py文件都可以被其他模块导入。
1 ── web_monitor 2 ├── conf 3 │ ├── db_config.py 4 │ ├── __init__.py 5 ├── db 6 │ ├── db.cnf 7 │ ├── __init__.py 8 │ ├── mongo.py 9 │ ├── mysql_pool.py 10 ├── monitor 11 │ ├── task1.py 12 │ └── task2.py 13 ├── test.py 14 └── utils 15 ├── __init__.py 16 └── util.py
2、如何导入?
(1)导入同级目录/同级目录的子模块:直接import即可。eg:
test.py中导入task1.py:from task1 import * / import task1
或者task2.py中导入task1.py:from moitor.task1.py import *
(2)导入上级目录的同级目录:
cur_dir = os.path.abspath(os.path.dirname(__file__)) pro_dir = os.path.split(cur_dir)[0] sys.path.append(pro_dir)
import *****
或者
pro_dir = os.path.abspath(os.path.dirname(__file__) + '/' + '..') sys.path.append(pro_dir)
import *******
分类:
python问题
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App