1
我曾與Qtdesingner, 在UI蟒蛇做了瑪雅項目經理,一個QLineEdit的授權用戶填寫的腳本的路徑運行(變量是:BatchRunScript
) 但似乎不可能導入模塊,如果它是一個變量(str
):
import maya.utils
BatchRunScript = 'X:\PathOfTheScript\NameOfScriptToRun.ScriptToRun()'
BatchRunScriptName = BatchRunScript.replace('\\', '/').split('/')[-1]
BatchRunScriptPath = BatchRunScript.replace('\\', '/').split(BatchRunScriptName)[0]
BatchRunModuleName = BatchRunScriptName.split('.')[0]
print 'BatchRunScriptPath: ', BatchRunScriptPath # X:/PathOfTheScript/
print 'BatchRunScriptName: ', BatchRunScriptName # NameOfScriptToRun.ScriptToRun()
print 'BatchRunModuleName: ', BatchRunModuleName # NameOfScriptToRun
sys.path.append(BatchRunScriptPath)
import BatchRunModuleName
maya.utils.executeDeferred(BatchRunScriptName)
它給我這個錯誤:
Error: ImportError: file <maya console> line 13: No module named BatchRunModuleName
有另一種方式來d從另一個內部運行一個python腳本?
你不應該硬編碼''Python''這樣的,因爲它可能是不正確的。更好的做法是使用['sys.executable'(https://docs.python.org/3/library/sys.html#sys.executable),這將永遠是正確的。 – martineau
非常感謝您的回答:) – Gnn