【问题标题】:How do you import a module that imports another module in a subfolder?如何导入一个模块,该模块会导入子文件夹中的另一个模块?
【发布时间】:2022-12-10 04:58:42
【问题描述】:

所以这是我的文件夹结构:

root
  module_a
    hello.py
    submodule_a
      hi.py
  module_b
    howdy.py

hello.py调用hi.py中的一个方法。 howdy.py调用hello.py中的方法

这是每个文件的内容:

hi.py

def myhi(hi):
    print("myhi " + hi)

hello.py

from submodule_a.hi import myhi

def myhello(hello):
    myhi("myhello " + hello)

howdy.py

from module_a.hello import myhello

def myhowdy(howdy):
    myhello("myhowdy " + howdy)

所以第一个问题是howdy.py找不到module_a,所以我在howdy.py里面做了sys.path.append(".")

但是现在新的问题是,从howdy.py,它无法从hello.py找到submodule_a

你如何解决这个问题?

我试过搞乱 __init__.py 但我找不到任何可以解决第二个问题的方法。

【问题讨论】:

    标签: python python-3.x


    【解决方案1】:

    从另一个文件夹导入模块的最 Pythonic 方式是放置一个名为在里面.py 到该文件夹​​并使用带点符号的相对路径。例如,父文件夹中的模块将使用 from .. import module 导入。

    【讨论】:

      猜你喜欢
      • 2021-04-20
      • 1970-01-01
      • 1970-01-01
      • 2020-06-22
      • 2018-04-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多