簡體   English   中英

從另一個包導入python模塊

[英]import python module from another package

我有一個具有以下結構的腳本

./
    /foo
       __init__.py
    /bar
       __init__.py
    module.py

我想在foo和bar包上使用module.py,但我找不到導入它的方法!

我可以將模塊放在兩個包中,但如果我需要進行任何更改,我將不得不在兩個包中進行。

假設我們有這樣的結構,這實際上有點棘手:

├── bar
│   ├── __init__.py
│   └── some_bar.py
├── foo
│   ├── __init__.py
│   └── some_foo.py
└── something.py

some_foo.py中的something.py獲取對象的正確方法是添加:

# foo/some_foo.py
from something import some_module

然后從頂級目錄運行some_foo作為模塊,使用-m選項如下:

python -m foo.some_foo

something.py添加一些print語句來測試它,如果一切正常,你應該在運行some_foo后看到something.py的一些輸出。 記住你需要從頂層運行some_foo,而不是從foo目錄運行。

__init__.py放在module.py旁邊。

更多信息http://docs.python.org/3/tutorial/modules.html?highlight=packages#packages

如果import foo工作,那么import module應該在你的情況下工作。

如果您需要使用from toplevel import foo導入foo那么您可以使用from toplevel import module導入module

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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