【发布时间】:2015-07-13 21:52:03
【问题描述】:
在 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 通信的唯一选项。但它支付标准输出数据以及如何有必要退出。 subprocess 选项除了我还没有找到,但是如果有其他选项会很高兴尝试它们
还有其他人遇到过这个问题吗?奇怪的是,在 windows 中运行的纯 Python 2.7 中一切正常,并且没有 Maya 2014
我使用:
Windows 7 + Python 2.7.9
玛雅 2014 (Python 2.7.3)
【问题讨论】:
-
也许我遗漏了一些东西,但 windows 分隔符是 '\' 而不是 '/',你试过 path = 'C:\Program Files\Thinkbox\Deadline7\bin\' 吗?跨度>
-
p1 = subprocess.Popen(['C:\\Program Files\\Thinkbox\\Deadline7\\bin\\deadlinecommand.exe', 'pools'], stdout=subprocess.PIPE) #错误:WindowsError: file C:\PROGRA~1\Autodesk\maya2014\bin\python27.zip\subprocess.py line 826: 6 #
-
你在maya版本的变量路径前面多了一个引号——是在代码中吗:?
标签: python-2.7 subprocess stdout maya