在python 2.7中,我尝试使用此代码从Deadline软件获取数据。它从服务器返回一些数据...
import subprocess
path = 'C:/Program Files/Thinkbox/Deadline7/bin/'
p1 = subprocess.Popen([path + 'deadlinecommand.exe', 'pools'], stdout=subprocess.PIPE)
p1.communicate()
并查看结果:
('none\r\npool_01\r\npool_02\r\npool_03\r\npool_04\r\npool_05\r\npoolhalf\r\n', None)
但是当我在Maya 2014中将该代码复制到python时出现错误:
p1 = subprocess.Popen(['path + 'deadlinecommand.exe', 'pools'], stdout=subprocess.PIPE)
# Error: WindowsError: file C:\PROGRA~1\Autodesk\maya2014\bin\python27.zip\subprocess.py line 826: 6 #
运行此exe文件-是唯一的dedline通信选项。但它需要支付标准数据以及如何拔出数据。子流程选项,除了我还没有找到,但是如果有其他选择,将很乐意尝试
其他人遇到过这个问题吗?奇怪的是,在Windows中运行的纯Python 2.7中,所有作品都可以使用,并且没有Maya 2014
我用:
Windows 7 + Python 2.7.9
Maya 2014(Python 2.7.3)
我只是在几天前尝试类似的事情,通过命令行提交者连接到Deadline并获得
# File "C:\Program Files\Autodesk\Maya2013\bin\python26.zip\subprocess.py", line 786, in _make_inheritable
# WindowsError: [Error 6] The handle is invalid
Maya 2013.5中的错误。在这里找到解决此问题的一种解决方法是管道所有手柄
p1 = subprocess.Popen([path + 'deadlinecommand.exe', 'pools'], stdout=subprocess.PIPE, stdin=subprocess.PIPE, stderr=subprocess.PIPE)
希望能帮助到你。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句