python-3.x - 如果尝试加入相同的文件夹名称,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
推荐阅读
- docker - 为什么 AWS ECS Fargate 不显示我的 Jupyter Notebook 服务器容器中的任何文件?
- android - 动态设置文本后如何保持布局的固定位置?
- javascript - 如何自动检查 Mocha 规范中意外留下的“.only”调用?
- javascript - 反应原生 pan 响应者 locationX/Y 不正确
- javascript - 延迟加载的模块可以使用根注入的 canActivate 防护吗?
- lldb - 立即调用 StepOut() 和 EvaluateExpression()
- c# - 在 C# 中的 LIST 我无法赋值
- java - 初始化静态字段(例如 BigDecimal)时如何避免幻数警告?
- angular - 从 V2 -> V7 升级 Angular 项目的正确方法是什么?
- python - Altair 为条形图设置常量标签颜色