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