与Popen一起使用什么令牌来运行搅拌机脚本?

问题描述:

我有下面的命令,我试图从Python使用Popen运行,但我不知道应该传递给它的令牌应该是什么。与Popen一起使用什么令牌来运行搅拌机脚本?

blender object.blend --background --python blenderObj.py -- box.obj object.obj 

我尝试各种组合包括分别使所述令牌中的每个,并且还通过“ - ”和“背景”在一起,但不能使它。请帮忙。

EDIT [解决方案]: 正如Ja8zyjits在下面的评论中所建议的那样,将整个命令作为单个字符串传递。

+0

是他们的命令行代码? – Ja8zyjits

+0

是的,这正是要在终端上运行的代码 – ms95

+0

检查我的答案。 – Ja8zyjits

这将为你做这项工作,试试这个。

import subprocess 
p = subprocess.Popen(["blender object.blend --background --python blenderObj.py --box.obj object.obj"], stdout=subprocess.PIPE,stderr=subprocess.PIPE, shell=True) 
out, err = p.communicate() 
+0

这开始搅拌器,但它不运行python脚本blenderObj.py它应该(在参数中指定) – ms95

+0

在该列表中[]传递命令行参数作为字符串检查间距,并确保该脚本运行在blenderObj.py存在的同一文件中 – Ja8zyjits

+0

传递整个字符串工作!非常感谢! :D – ms95

在上述意见建议的Ja8zyjits,传递整个命令作为一个字符串工作