2013-04-03 134 views
3

我已經閱讀了其他文章有關python模塊的動態導入。他們工作!問題是當我從特定文件夾導入模塊時。 如果我有主Python代碼,並在同一文件夾模塊:從一個文件夾動態導入模塊python

main.py

module.py

如果我這樣做:

var = "module" 
module = __import__(var) 

它的偉大工程。但我的模塊是在一個名爲 「模塊」

main.py

模塊特定的文件夾\ module.py

如果我做的:

​​

它不工作。 我知道我非常接近解決方案,但我無法得到它。

謝謝您的幫助

回答

3

假設模塊的確是Python包和VAR是你的模塊名,你帶點單獨的目錄。

var = "module" 
module = __import__("modules.{0}".format(var), globals(), locals(), [], -1) 

您可以查看文檔:

import documentation

你創建你的模塊文件夾中的__init__.py文件。

+0

我遇到以下錯誤:SyntaxError:第2行文件C:\ modules \\ __ init__.py中的非ASCII字符'\ xe1',但未聲明編碼;有關詳細信息,請參閱http://www.python.org/peps/pep-0263.html – user1618465

+0

我用__import__編輯了一個有點準確的問題。而關於你的錯誤,真的不知道你的__init__.py裏面有什麼。嘗試刪除所有內容並將其保留爲空。 – iblazevic

+0

我不得不在模塊文件夾中創建__init__.py文件,它的工作原理!只需創建__init__.py空白。謝謝 – user1618465