Skip to main content
 首页 » 编程设计

python之如何在 Python 中使用 os.getcwd() 向 Maya 正确发送命令

2025年05月04日10yxwkf

所以我正在使用套接字将一些输出发送到 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。 :)