所以我正在使用套接字将一些输出发送到 Maya。不幸的是,我从 Maya 得到的结果毫无意义。我试图引用一个变量,同时转义引用,但是一旦它到达 Maya,它就会失败。这是代码:
currentDir = os.getcwd()
maya.send('python("import os; import sys; os.chdir(\''+currentDir+'\'); sys.path.append(\''+currentDir+'\'); import pythonExec; pythonExec.main()")')
这是我得到的输出:
python("import os; import sys; os.chdir('C:\Users\pneumonic\Documents\My Dropbox\pythonTesting'); sys.path.append('C:\Users\pneumonic\Documents\My Dropbox\pythonTesting'); import pythonExec; pythonExec.main()");
import os; import sys; os.chdir('C:UserspneumonicDocumentsMy DropboxpythonTesting'); sys.path.append('C:UserspneumonicDocumentsMy DropboxpythonTesting'); import pythonExec; pythonExec.main()
# Error: line 1: [Error 2] The system cannot find the file specified: 'C:UserspneumonicDocumentsMy DropboxpythonTesting'
# Traceback (most recent call last):
# File "<maya console>", line 1, in <module>
# WindowsError: [Error 2] The system cannot find the file specified: 'C:UserspneumonicDocumentsMy DropboxpythonTesting' #
它会删除路径名中的每个\字符。我试过使用双引号而不是单引号,我从中得到的输出是这样的:
python("import os; import sys; os.chdir("C:\Users\pneumonic\Documents\My Dropbox\pythonTesting"); sys.path.append("C:\Users\pneumonic\Documents\My Dropbox\pythonTesting"); import pythonExec; pythonExec.main()");
// Error: python("import os; import sys; os.chdir("C:\Users\pneumonic\Documents\My Dropbox\pythonTesting"); sys.path.append("C:\Users\pneu€ //
// Error: Line 1.42: Syntax error //
我不确定我做错了什么,但这显然是我的问题。提前感谢您的帮助。
旁注 - 我的大部分开发都是在 OSX 上进行的,一切都在 OSX 上完美运行,我没有做任何特定于操作系统的事情,所以我很困惑为什么我在 Windows 上遇到这么多问题。
请您参考如下方法:
最终成为一个非常简单的修复:
path = os.getcwd()
convertPath = path.replace('\\','/')
虽然我不相信答案。我从http://forums.cgsociety.org/showpost.php?p=6890246&postcount=2得到了答案来自 r4inm4ker。 :)
