[英]Importing methods from a Python package
我從文件導入所有方法時遇到問題,因此可以將其用作包。 我有以下幾點:
myapp.py
mypackage/
mypackage/__init__.py
mypackage/mypackage.py
在mypackage.py
內部,我具有method1()
和method2()
。 在myapp.py
內部,我想這樣做:
import mypackage
mypackage.method1()
但是,這不起作用。 相反,我需要執行mypackage.mypackage.method1()
,但不確定如何解決該問題。 我發現的唯一方法是刪除__init__.py
並將mypackage.py
重命名為__init__.py
,這似乎不正確。
我需要在init文件中放入什么來導入所有方法,這樣我不必總是兩次鍵入包名?
在您的示例中,您有一個mypackage
程序包(帶有__init__.py
的目錄)和該程序包中的mypackage
模塊。 當然,您剛剛發布了一個草人示例,但是如果您將模塊命名為與包相同的名稱,則可能會導致導入錯誤。 將非包裝的東西稱為“包裝”肯定會造成混淆!
要將方法從mypackage.py
放入mypackage
,可以在mypackage/__init__.py
進行相對於軟件包的導入:
from .mypackage import method1, method2
...要么
from .mypackage import *
您應將mypackage.py
重命名為其他名稱的原因是,小錯誤(例如缺少該點)會導致導入錯誤的內容。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.