Python项目中外部脚本script.py导入main.py函数的正确方法
跨独立脚本导入包内模块的解决方案
项目结构
package/ module/ __init__.py component.py main.py script.py
场景说明
main.py中已通过from module.component import something导入包内模块内容,现在需要在不属于package包的独立脚本script.py中,从main.py导入名为function的函数,但始终遭遇模块找不到的错误,错误表现会随Python执行方式、运行目录变化,尝试修改工作目录也无法解决,且该场景和Python相对导入的适用场景不同。
可行解决方案
在script.py中添加以下代码即可实现正常导入:
import sys sys.path.insert(0, "package") from main import function
原理说明
Python会通过sys.path列表中的路径查找模块,将package目录插入到sys.path的最前端,就能让Python识别到package下的main.py模块,从而成功导入目标函数。
内容的提问来源于stack exchange,提问作者giladrv
相关产品推荐
相关产品推荐

