小编典典

用Python导入软件包

python

我可能会丢失一些显而易见的东西,但是无论如何:

当您像os在python中那样导入软件包时,您可以直接使用任何子模块/子软件包。例如,这有效:

>>> import os
>>> os.path.abspath(...)

但是我有自己的软件包,其结构如下:

FooPackage/
  __init__.py
  foo.py

并且这里相同的逻辑不起作用:

>>> import FooPackage
>>> FooPackage.foo
AttributeError: 'module' object has no attribute 'foo'

我究竟做错了什么?


阅读 183

收藏
2020-12-20

共1个答案

小编典典

您需要导入子模块:

import FooPackage.foo

您正在寻找的fooFooPackage/__init__.py。您可以通过将import FooPackage.foo as foo(或from . import foo)放入来解决它FooPackage/__init__.py,然后Python就能在其中找到foo。但我建议使用我的第一个建议。

2020-12-20