首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从PHP脚本向运行Python解释器的终端发送命令?

如何从PHP脚本向运行Python解释器的终端发送命令?
EN

Stack Overflow用户
提问于 2016-06-23 14:28:37
回答 1查看 791关注 0票数 0

我想从PHP脚本访问终端,打开独立版本的Maya,然后从终端运行Maya中的Python脚本。

我已经能够使用exec()函数从我的PHP脚本向终端发送命令。例如,我已经能够使用以下代码打开带有.OBJ文件的Maya。

代码语言:javascript
运行
复制
//Open Maya with .OBJ
$cmd='open -a /Applications/Autodesk/maya2015/maya.app /Applications/AMPPS/www/webGL/upload/Character.obj';
exec($cmd);

然后,我发现可以使用以下目录:/Applications/Autodesk/maya2016/Maya.app/Contents/bin/mayapy在终端中打开Maya解释器

在终端中执行此目录时,它将运行Maya解释器。当解释器运行时,我似乎再也无法从PHP脚本向终端发送命令(现在是Python代码)。

通过使用exec()函数来实现我想做的事情,我是否走上了正确的道路?还是这个函数只是在同一个终端上执行单个命令而不是多个命令?是否需要使用不同的函数将命令发送到特定的shell,以便在同一个终端中执行所有命令?

下面是我一直试图发送到终端的代码,运行Maya解释器,然后导入Maya独立库并初始化它。

代码语言:javascript
运行
复制
//Open Maya interpreter
$cmd2="/Applications/Autodesk/maya2016/Maya.app/Contents/bin/mayapy";
//Import standalone and initialise
$cmd3="import maya.standalone; maya.standalone.initialize( name='python' )"

//Execute commands
shell_exec($cmd2);
shell_exec($cmd3);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-23 21:23:29

您不需要用mayapy单独编写代码,您可以直接使用mayapy运行脚本

test.py

代码语言:javascript
运行
复制
import os
import maya.standalone
maya.standalone.initialize()
import maya.cmds as cmds
print dir(cmds)

您可以这样简单地调用这个脚本

代码语言:javascript
运行
复制
mayapy /your/path/test.py

在你的情况下

代码语言:javascript
运行
复制
$cmd2="/Applications/Autodesk/maya2016/Maya.app/Contents/bin/mayapy /your/path/test.py";
shell_exec($cmd2);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37994538

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档