2012-11-15 100 views
0

我有一個程序使用文件操作創建一個名爲「cool」的模塊。我後來說import cool,然後使用創建的cool模塊。動態模塊Python

這裏是我的目錄

project/ 
    main.py 
    modules/ 
     maker.py 
     cool/   #this folder and its contents was made by maker.py 
      __init__.py 
      coolm.py 

如果我想讓我的程序到.exe格式,這種策略將不再有效。有誰知道另一種技術?

注:我不能用exec使用cool模塊..

+0

失敗發生在哪裏?寫出模塊?導入它?別的地方? – ernie

+0

動態創建模塊似乎不是一個好主意,考慮如果有人使用您的代碼同時運行多個進程,則可能無法獲得您期望的模塊版本。 –

+0

爲什麼不能使用'exec'? –

回答

1

導入您的模塊時,你需要這樣的:

coolmod = __import__('coolm') 
coolm.someproperty 

您也可以試試:

import importlib 
coolmod = importlib.import_module('coolm', 'cool') 

這使您可以將包名稱指定爲第二個參數。