【发布时间】:2013-08-08 12:13:35
【问题描述】:
我有以下来自 ipython 的 python os.path 输出
import os.path as path
path.join("/", "tmp")
Out[4]: '/tmp'
path.join("/", "/tmp")
Out[5]: '/tmp'
path.join("abc/", "/tmp")
Out[6]: '/tmp'
path.join("abc", "/tmp")
Out[7]: '/tmp'
path.join("/abc", "/tmp")
Out[8]: '/tmp'
path.join("def", "tmp")
Out[10]: 'def/tmp'
我发现输出 5、6、7 和 8 违反直觉。有人可以解释一下这种实施是否有具体原因吗?
【问题讨论】:
-
请注意,没有任何理由将绝对路径作为
join的非第一个参数。join旨在根据其组件构建 a 路径。没有路径具有绝对路径作为“子路径”。您希望join("/", "/tmp")会发生什么? -
有道理!我想这很好地证明了实施的合理性!谢谢!