要在 mypackage 包外使用 mypackage 包里的 speak.py 文件以及 newpackage 包里的 jump.py 文件,你需要确保以下几个步骤:
- 确保目录结构正确,如下所示:
mypackage/
__init__.py
speak.py
newpackage/
__init__.py
jump.py
- 在
speak.py文件中定义相关功能,例如:
# mypackage/speak.py
def speak():
return "Hello from speak.py"
- 在
jump.py文件中定义相关功能,例如:
# mypackage/newpackage/jump.py
def jump():
return "Jumping from jump.py"
- 确保在
mypackage/__init__.py文件中导入speak.py和newpackage包,以便可以在包外访问它们,如下所示:
# mypackage/__init__.py
# 导入 speak.py 中的 speak 函数
from . import speak
# 导入 newpackage 包
from . import newpackage
-
确保
mypackage包所在的目录(包含mypackage文件夹的上级目录)已经添加到 Python 的模块搜索路径中。你可以将该目录添加到sys.path,或者将其设置为 PYTHONPATH 环境变量。 -
在包外的 Python 文件中,你可以使用以下方式导入
speak.py和newpackage包中的jump.py文件:
# 导入 speak.py 中的 speak 函数
from mypackage import speak
# 导入 newpackage 包中的 jump.py 文件中的 jump 函数
from mypackage.newpackage import jump
现在,你可以在包外的 Python 文件中使用 speak 函数和 jump 函数,如下所示:
print(speak.speak()) # 输出: Hello from speak.py
print(jump.jump()) # 输出: Jumping from jump.py
通过这种方式,你可以在包外使用 mypackage 包中的 speak.py 文件和 newpackage 包中的 jump.py 文件中定义的功能。


![Go语言的[GPM模型]](https://img-blog.csdnimg.cn/b7d1129d299347639d7d87dae307fe85.png)

















