[英]Importing classes defined in the same module
我在使用我在模塊中定義的類時遇到了問題。 我看過這個stackoverlfow帖子 ,答案似乎是“你不需要進口”。 這絕對不是我遇到的行為。 我正在使用Python 3.3。 這是我的目錄結構:
root/
__init__.py
mlp/
__init__.py
mlp.py
layers/
__init__.py
hidden_layer.py
dropout_layer.py
我的問題是這樣的:在定義的類dropout_layer.py
擴展了類hidden_layer.py
,但是當我嘗試導入hidden_layer,我有時會根據目錄中的錯誤,我從執行我的代碼。 例如, from layers.hidden_layer import HiddenLayer
然后我運行我的代碼,如果我從root/mlp
執行它。 但是,如果我從root
執行我的代碼,則此導入不起作用。 這對我來說很奇怪。 我怎樣才能正常工作?
我唯一的非空__init__.py
文件位於root/mlp/layers/
:
# root/mlp/layers/__init__.py
__all__ = ['hidden_layer', 'dropout_layer']
在Python 3中,您可以添加一個.
對於相對於當前模塊位置的導入:
from .hidden_layer import HiddenLayer
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.