Maya python反斜杠替换问题

Maya python反斜杠替换问题,python,filepath,maya,Python,Filepath,Maya,我试图在GUI中添加一个自定义路径文件,但问题是当我使用该命令时 cmds.fileDialog2(filemode=3,dialogStyle =1) 我得到的文件路径如下 C:\Users\anoorani\Desktop\Test 但是,Maya似乎只读取以下路径 C:/Users/anoorani/Desktop/Test 回跳似乎是个问题 在python maya中是否有方法将“\”替换为“/”…?根据@ArgiriKotsaris注释,您可以使用: 通过折叠冗余分隔符和上级引

我试图在GUI中添加一个自定义路径文件,但问题是当我使用该命令时

cmds.fileDialog2(filemode=3,dialogStyle =1) 
我得到的文件路径如下

C:\Users\anoorani\Desktop\Test
但是,Maya似乎只读取以下路径

C:/Users/anoorani/Desktop/Test
回跳似乎是个问题
在python maya中是否有方法将“\”替换为“/”…?

根据@ArgiriKotsaris注释,您可以使用:

通过折叠冗余分隔符和上级引用来规范化路径名

这样A//B、A/B/、A//B和A/foo//B都变成了A/B

此字符串操作可能会更改包含符号链接的路径的含义

在Windows上,它将正向斜杠转换为反向斜杠

因此,您的代码应该是:

import maya.cmds as cmds
import os

path = cmds.fileDialog2(fm=3,dialogStyle =1)
path = path and os.path.normpath(path[0])
或者,如果您希望始终使用前斜杠,则无需
os
模块并将最后一行更改为:

path = path and path[0].replace('\\', '/')
请注意,的文件模式参数的名称是
fileMode
fm
,而不是
fileMode


另外,
fileDialog2
返回路径列表,或者不返回路径列表。

os.path.normpath(filePath)
到目前为止对我很有效……你也许可以做
out.replace(“\\”,“/”)
@ArgiriKotsaris:我想你应该把它作为一个答案。只需添加一个链接并解释它的作用,就没什么好说的了。即使在windows上,始终交换路径到正斜杠也是一种很好的做法,因为windows使用正斜杠,而反斜杠是打字磁铁。非常感谢!!@Argiri Kotsaris os.path.normpath为我工作!!!!normpath始终转换为本地文件系统的适当格式。如果您每次都想使用正向斜杠,那么需要使用normpath(以获得所有清理好处),然后将
\\\
替换为
/
。我个人会选择
路径和os.path.normpath(path[0])。替换('\\','/')
,因为它保留了normpath的好处(如折叠冗余分隔符)并保证正向斜杠。我很好奇是否有人有更好的方法…@Basic,谢谢,现在我明白了。如果使用fileDialog2,在替换之前运行normpath有什么好处,尤其是在windows上?