【发布时间】:2022-12-20 04:06:37
【问题描述】:
我有一个简单的项目试图说明 Python Path 的工作原理。
下图是我目前的项目结构。main.py 看起来像这样,
import pathlib
import sys
cwd = pathlib.Path(__file__).parent.resolve()
source_directory = cwd / 'depth_1' / 'depth_2' / 'depth_3'
sys.path.append(str(source_directory))
每个row_x_file.py 只包含一个函数,
def row_x_print():
print("Inside row_x_file.py")
(用 x 代替正确的号码)。每个__init__.py 只是from . import *
现在,因为我已经将 depth_3 的路径添加到 sys.path,所以我可以成功键入 import row_1 而不会出现错误。但是我永远无法访问从 __init__ 导出的函数,即我无法在 import row_1 之后运行 row_1_print(),但是 import row_1 运行没有失败。 from row_1 import row_1_print好像也没成功。
如何在成功输入import row_1 后才能运行row_1_file.py 中的函数?
【问题讨论】:
-
刚开始组织一个项目已经有一段时间了,但我记得你不需要在
__init__.py中添加import,文件实际上是在你加载模块时加载的(这里是row_1模块) 所以看起来有些多余。 -
请用所有示例代码填写问题 - 这样我们就可以为您指明正确的方向。我觉得您可能还想使用没有模块前缀的代码。请让我知道我的回答怎么也没有回答您的问题。
-
现在可以了,干杯。
标签: python-3.x python-import pythonpath