2016-11-19 10 views
0

私は、私はいくつかのスクリプトを持っている、と私はスクリプトでそれらを呼びたい、 しかし、このスクリプトは私に「リロード(I」)でエラーを与える、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

はあなたが考慮するべきいくつかのことだ:私たちはpathで見ることを期待したいものをあなたは私たちを提供していないが、pathは、完全なパス文字列である場合を除き:

  1. sys.path.append(path + 'script/')は、右を見ていませんスラッシュで終わっても機能しません。 sys.pathを印刷して、実際に追加しているものを確認してください。
  2. scriptLISTscriptListは同じではありません - Python変数は大文字と小文字を区別します。前回の実行時の残量変数が結果を乱している可能性があります。
  3. from importlib import import_moduleをループ外に移動します。ループ内にインポートすることはほとんどありません
  4. import_module(obj)の結果を確認して、必要なものがあるかどうかを確認します。文字列を使用しているので、誤植があなたの操作を混乱させるのは簡単です。
関連する問題