我需要動態地導入模塊並創建一個類。
這是在Python 3.2我的工作代碼:python動態模塊導入(代碼從3.2到3.3)
klass = {}
mod = __import__('sites.' + self.className + '_login', fromlist=[self.className])
klass[self.className] = getattr(mod, self.className)
klass[self.className](**self.args)
該模塊是「地王」文件夾內。它被稱爲my_site_login和該模塊「my_site」中的類。
由於我升級到Python 3.3,代碼停止工作。我讀了_____import_____被importlib.import_module替換。我嘗試了幾種方法來做到這一點,但我無法實現。
這是我的嘗試:
https://stackoverflow.com/a/8790051/1095101
mod = getattr(import_module('sites.' + self.className + '_login'), self.className)
我不記得還有什麼我已經試過。我能說的是,沒有任何印刷()我在任何導入嘗試後立即顯示。我沒有收到任何錯誤消息。它只是注意到。
對不起,我知道它已經被回答了幾次,但我試了一切,沒有任何工作。我再也想不起來了。 謝謝先進。
好的...這很尷尬。由於你的代碼正是我所嘗試的,所以有些事情是不對的。問題出在模塊的新文檔中。沒有utf-8聲明,有些人物搞砸了一切。無論如何,我會用你的第二個代碼,它們是動態生成的。謝謝。 –