Maya python反斜杠替换问题
我试图在GUI中添加一个自定义路径文件,但问题是当我使用该命令时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注释,您可以使用: 通过折叠冗余分隔符和上级引
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上?