我正在一個服務器上偵聽一個套接字。每當有新的請求進入時,服務器都會生成一個新的handle_request實例。 handle_request.py的每個實例從request_handlers中導入相關處理程序。從目錄動態導入一個包
server.py
handle_request.py
request_handlers
|_handler_beta
|_handler_1
|_handler_2
雖然handlerX是一個模塊,request_handlers不是包。這些模塊是獨立的,並在每個請求中重新加載。程序運行時可能會添加,修改或刪除模塊。
問題:什麼是從任意目錄中導入一個模塊的方式嗎?
做功課,我看到的大多數問題處理包,甚至一個標題爲「蟒蛇:從文件夾導入模塊」。因此我相信這個問題是不同的。架構已經簡化;是的,我正在考慮在文件修改時重新加載預分支。
我曾嘗試__import __('request_handlers.default_handler',fromlist = ['']),它導入了default_handler,但沒有其屬性 – aitchnyu
你是什麼意思,「沒有它的屬性」?你得到模塊中有任何東西的模塊對象。 –
>>> import request_handlers.default_handler as dh >>> dir(dh) ['__ builtins__','__ doc__','__ file__','__ name__','__ package__','__ path__'] – aitchnyu