首页 > 解决方案 > 如果尝试加入相同的文件夹名称,os.path.join() 将无法正常工作。如何解决?

问题描述

代码如下。

import os

path_1 = "/folder/data"
path_2 = "/folder/media"

print(os.path.join(path_1, path_2))

输出如下。

/folder/media

如何像这样正确地获得输出。

/folder/data/folder/media

我想要依赖于不同操作系统的程序的解决方案。因此添加变量 (path_1 + '/' + path_2) 不适合这个。

标签: python-3.xos.path

解决方案


从文档

如果组件是绝对路径,则所有先前的组件都将被丢弃,并从绝对路径组件继续连接。

所以,你应该做的是删除第二个路径中的第一个斜杠:

import os

path_1 = "/folder/data"
path_2 = "folder/media"    # <- removed first slash

print(os.path.join(path_1, path_2))    # <- prints /folder/data/folder/media

推荐阅读