在Python中合并路径

1 投票
1 回答
608 浏览
提问于 2025-04-18 07:48

首先,我是个新手。我刚开始学习Python,所以这个问题对你来说可能很基础。我想做的是通过结合cmds.fileDialog2的结果和os.path.join来创建一个简单的路径。

    newDirectory = cmds.fileDialog2(fm = 3, fileFilter = None, ds = 2)
    print newDirectory

这段代码给了我打印的结果。

    [u'C:/Users/nyName/Folder1/Folder2/Folder3/Folder4']

然后我尝试制作一个组合路径,以便在我的用户界面中显示一张简单的图片。

    bannerImagePath = os.path.join('newDirectory','/graphic/imageName' + '.jpg')
    print bannerImagePath

我期待这个打印结果会类似于这样的路径,因为我用了路径连接:C:/Users/nyName/Folder1/Folder2/Folder3/Folder4/graphic/imagename.jpg

但是实际的打印结果是这样的

    /graphic/imageName.jpg

总结一下 - 我在尝试使用cmds.fileDialog2和os.path.join来创建一个组合路径,但没有太大的成功。

1 个回答

4

这里的 'newDirectory' 不应该加引号。它实际上是一个列表,所以你需要这样做:

bannerImagePath = os.path.join(newDirectory[0],'graphic/imageName.jpg')

注意:我把第二个参数前面的斜杠去掉了,也就是说:

应该使用:

'graphic/imageName.jpg' 

而不是:

'/graphic/imageName.jpg'

编辑

正如评论中提到的,你应该先规范化路径,然后再进行连接:

os.path.join(os.path.normpath(newDirectory[0]),'graphic/imageName.jpg')

撰写回答