python os
模块似乎错误地连接了路径。要复制,只需运行以下代码:
import os
p1 = "/1/2"
p2 = "/3/4"
print(os.path.join(p1,p2))
这将打印“/3/4”
。这是预期的行为吗?我希望它打印 "/1/2/3/4"
最佳答案
If a component is an absolute path, all previous components are thrown away and joining continues from the absolute path component.
如果3/4
应该是/1/2
的子目录,则省略前导的/
:
import os
p1 = "/1/2"
p2 = "3/4"
print(os.path.join(p1,p2))
如Olvin Roght suggests ,您还可以使用如下方式从 p2
中删除前导斜杠:
p2 = p2.lstrip("/\\")
如果无法直接修改字符串,则在尝试加入之前。这将从字符串中删除 /
或 \
字符。
关于Python os.path.join 错误地附加路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70675058/