2016-02-18 24 views

回答

3

不是。 import Maya會給你所有人,儘管大多數人開始一個級別,例如,import maya.cmds as cmds還有幾個你在列表中錯過了:OpenMaya,舊的api,有兄弟姐妹OpenMayaRender,OpenMayaUIOpenMayaAnimation也有maya.util

你可以列出的頂級瑪雅模塊完整名單如下:

import maya 
import inspect 
maya_modules = {name:mod for name, mod in inspect.getmembers(maya) if inspect.ismodule(mod) } 

在Maya 2016完整列表是:

'OpenMaya': <module 'maya.OpenMaya' from 'c:\program files\autodesk\maya2016\Python\lib\site-packages\maya\OpenMaya.pyc'>, 
'OpenMayaAnim': <module 'maya.OpenMayaAnim' from 'c:\program files\autodesk\maya2016\Python\lib\site-packages\maya\OpenMayaAnim.pyc'>, 
'OpenMayaFX': <module 'maya.OpenMayaFX' from 'c:\program files\autodesk\maya2016\Python\lib\site-packages\maya\OpenMayaFX.pyc'>, 
'OpenMayaMPx': <module 'maya.OpenMayaMPx' from 'c:\program files\autodesk\maya2016\Python\lib\site-packages\maya\OpenMayaMPx.pyc'>, 
'OpenMayaRender': <module 'maya.OpenMayaRender' from 'c:\program files\autodesk\maya2016\Python\lib\site-packages\maya\OpenMayaRender.pyc'>, 
'OpenMayaUI': <module 'maya.OpenMayaUI' from 'c:\program files\autodesk\maya2016\Python\lib\site-packages\maya\OpenMayaUI.pyc'>, 
'app': <module 'maya.app' from 'c:\program files\autodesk\maya2016\Python\lib\site-packages\maya\app\__init__.py'>, 
'cmds': <module 'maya.cmds' from 'c:\program files\autodesk\maya2016\Python\lib\site-packages\maya\cmds\__init__.py'>, 
'debug': <module 'maya.debug' from 'c:\program files\autodesk\maya2016\Python\lib\site-packages\maya\debug\__init__.py'>, 
'mel': <module 'maya.mel' from 'c:\program files\autodesk\maya2016\Python\lib\site-packages\maya\mel\__init__.py'>, 
'standalone': <module 'maya.standalone' (built-in)>, 
'utils': <module 'maya.utils' from 'c:\program files\autodesk\maya2016\Python\lib\site-packages\maya\utils.py'> 

當然,使你自己的模塊導入這些模塊的子集是微不足道的。

+0

也許一個更好的問題是,你如何區分'maya' Python庫和Maya應用程序? (例如在對話中) – d3vid

+2

我認爲大多數人很少談論瑪雅人的命名空間:如果你谷歌周圍你會發現大約85%的一切都是'cmds'(衆所周知),其餘大部分是'OpenMaya'或'maya.api.XXX'的'api2' – theodox