簡體   English   中英

導入在同一模塊中定義的類

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM