Python 在执行脚本时忽略模块调用
我道歉,如果我的标题是误导,因为我不知道如何写它。无论如何,我正在尝试加载一个文件(我们称之为-testNuke)并运行其名为Python 在执行脚本时忽略模块调用,python,maya,Python,Maya,我道歉,如果我的标题是误导,因为我不知道如何写它。无论如何,我正在尝试加载一个文件(我们称之为-testNuke)并运行其名为getNodes 在Maya脚本编辑器中键入以下内容时: from nukeProcess.rendering import testNuke testNuke.getNodes() 我得到了错误:没有名为nuke的模块。当我在网上搜索时,我发现,import nuke只在nuke应用程序脚本编辑器中起作用,让它在外部运行需要其他一些方法 因此,我想知道,当我执行2行代
getNodes
在Maya脚本编辑器中键入以下内容时:
from nukeProcess.rendering import testNuke
testNuke.getNodes()
我得到了错误:没有名为nuke的模块。当我在网上搜索时,我发现,import nuke
只在nuke应用程序脚本编辑器中起作用,让它在外部运行需要其他一些方法
因此,我想知道,当我执行2行代码时,我是否可以添加另一行来忽略
import nuke
?否则,我真的必须在脚本中删除该行,重新保存它,然后执行它吗?您可以使用try-and-except方法
try:
from nukeProcess.rendering import testNuke
testNuke.getNodes()
except:
print 'Warning : nuke module can't be imported'
希望有帮助。需要对您的模块进行一些假设
nuke
模块的任何函数仅在nuke内部调用,而不是在Maya中尝试调用的函数的一部分nuke
的模块,而不是导入一个通用渲染模块的基于nuke和Maya的脚本。如果没有,请考虑重组它:import nuke
(它位于testNuke
模块中)。除了块:
try:
import nuke
except ImportError:
# handle it somehow
pass
如何处理导入错误取决于您自己。显然,正如我所写的,任何调用Nuke函数的尝试都会引发NameError
如果您想为这些情况创建一个特殊的异常,您应该使用
\uuu getattr\uuuu
方法编写我们自己的nuke
类,这反过来会引发自定义异常。如果这是一条您希望得到帮助的路线,它可能超出了此问题的范围,可以作为一条新的路线提出,与您的Maya细节无关。我不理解您的问题。您的示例不包括任何import nuke
。import nuke
位于testNuke
文件中。。。