![](/img/trans.png)
[英]Python: 'ModuleNotFoundError' when trying to import module from the same package
[英]Trying to import class from a module in the same package by a string
我有一個市場機器人,可以支持不同的市場。 目前,它已硬編碼到代碼中,我想更改它。 在我的src文件夾中,我有一個main.py,用於導入市場。 市場是一個看起來像這樣的包裹
markets/
__init__.py
market_template.py
market1.py
market2.py
我所做的是在init .py中添加了加載和自動加載功能,如下所示
logging.getLogger(__name__)
slaves = {}
def autoload():
for market in settings.conf["Markets"]:
load(market)
def load(market):
print("Starting {} interface".format(market))
slaves[market].start()
autoload()
這部分效果很好,所以現在解決了真正的問題。
我想在其中導入指定的市場模塊及其類(與模塊具有相同的名稱),這很容易由“來自.market1 import market1”進行制作,但是類似於它在同一包裝中的小點使得所有內容地獄。 我已經嘗試了多種方法,其中兩種是
from . import *
eval('market1')
和
module = __import__("." + market)
my_class = getattr(module, market)
但是由於某種原因,這些都無法訪問同一軟件包中的任何內容...謝謝
from importlib import import_module
import_module(str("." + market), 'market')
感謝在我的問題下的評論字段中的Blender
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.