python - 如何在python中引用子模块
问题描述
我有以下结构。
以下是 call_module1_module2.py 中的代码。这工作正常。我可以参考这两个模块。
from module1.file1 import *
from module2.file2 import *
function1()
function2()
但是,当我尝试从module2中的file2.py调用module1文件夹的file1.py中的function1时,使用下面的代码
from tmodules.module1.file1 import *
我收到一个错误,即找不到模块“tmodules”。它是父文件夹/项目的名称。
我错过了什么?所有的init .py 都是空的。我应该在该文件中添加任何内容吗?
解决方案
我常用的两种解决方案:1)从根文件夹中引用子模块,例如:
from top_module.child_folder.some_submodule import some_function
2)如果您位于仅下方一层,您可以执行以下操作:
from ..parent_folder.some_submodule import some_function
2bis) 如果您在同一个文件夹中,则:
from .hello_brother_module import some_function
您也可以添加路径,sys.path
但我个人觉得这个解决方案不优雅
推荐阅读
- reactjs - React Storybook SVG 无法在“文档”上执行“createElement”
- python - Pands:根据字典中的关键字创建数据框
- c++ - 如果结构具有不可复制的成员,如何初始化它?
- hyperledger-fabric - FORBIDDEN -- 未能达到 1 个子策略的隐式阈值,需要剩余 1 个:权限被拒绝
- python - 从 Python 开始 - 练习 8.14 排序算法。这已经有名字了吗?
- java - 如何修复列数与 Java netbeans 中的值不匹配
- r - 你如何同时使用 `group_by()` 和 `ggplot_build()` 和 facets?
- javascript - componentDidMount 同步更新
- php - 为什么我在 PHP 脚本中使用 SQL 代码时出现错误“错误没有这样的用户 postgres”?
- python - 从列中查找最近的未来日期