2016-11-19 66 views
0

我努力學習Python,如何在Maya Python中重新加載import_module?

import sys 
    sys.path.append(path + 'script/') 
    scriptLIST = ['createDummy','importController','matchPosition'] 

    for obj in scriptList: 
     from importlib import import_module 
     i = import_module(obj) 
     reload(i) 
     i.importGroup() 

我有一些腳本,我想打電話給他們一個腳本, 但這個劇本給我一個錯誤「重裝(我)」, 我需要這個重新加載來更新這些腳本。 你能幫我用這個小腳本嗎。

回答

1

這裏有幾件事你應該考慮:

  1. sys.path.append(path + 'script/')看起來不正確的:我們所期待的path就看你有沒有提供給我們,但除非path是一個完整的路徑字符串以斜線結尾,它不會工作。打印出sys.path並查看您實際添加的內容。
  2. scriptLISTscriptList不一樣 - Python變量區分大小寫。您可能會從早期的運行中得到一個殘餘變量,搞亂了結果。
  3. 移動from importlib import import_module以外的循環。你幾乎從不想要在循環內導入
  4. 檢查import_module(obj)的結果,以便知道是否已得到所需的內容。由於您使用的是字符串,因此錯字很容易讓您的操作搞砸。