Python。如何重定向 Maya 历史记录?

Max*_*xKu 1 python debugging logging maya output

历史选项卡中打印的所有 Maya 脚本日志和错误。这是所有命令和 python 脚本的输出。

为了更好的调试脚本,我希望所有日志都发送到服务器上的某个地方。如何拦截并将输出发送到您的脚本。然后我会做所有必要的事情,输出要么是远程控制台,要么是服务器上文件中的某个地方。

拦截输出的任务。怎么做?

在此处输入图片说明

小智 5

您还可以使用此处scriptEditorInfo找到的Maya命令重定向脚本编辑器历史记录:

一个示例用法如下:

import maya.cmds as cmds
outfile = r'/path/to/your/outfile.txt'

# begin output capture
cmds.scriptEditorInfo(historyFilename=outfile, writeHistory=True)

# stop output capture
cmds.scriptEditorInfo(writeHistory=False)
Run Code Online (Sandbox Code Playgroud)

还有cmdFileOutput,你既可以通过注册表项来调用交互方式或启用/禁用MAYA_CMD_FILE_OUTPUT,文档在这里

最后,您可以使用-log标志增强 Maya 开始将输出窗口文本写入另一个位置。但是,使用此方法,您不会获得脚本编辑器的输出,但鉴于您尝试记录的内容,这可能就是您想要的。