如何解决如果尝试加入相同的文件夹名称,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) 不适合于此。
解决方法
如果一个组件是绝对路径,则所有之前的组件都将被丢弃,并从绝对路径组件继续连接。
所以,你应该做的是删除第二个路径中的第一个斜杠:
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
,
就像另一个答案所说的,您只需要将 path_2
更改为 path_2 = folder/media
,它就会起作用。您还可以使用 Pathlib 库来确保跨操作系统正确处理内容:
from pathlib import Path
path_1 = Path('/folder/data')
path_2 = Path('folder/data')
# extend the path to include path_2
path_2 = path_1 / path_2
print(path_2)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。