Correct Results From Python's Os.path.join()
Solution 1:
Am I reading that documentation correctly?
Try reading it again, emphasis mine:
Join one or more path components intelligently. If any component is an absolute path, all previous components (on Windows, including the previous drive letter, if there was one) are thrown away, and joining continues. The return value is the concatenation of path1, and optionally path2, etc., with exactly one directory separator (os.sep) following each non-empty part except the last. (This means that an empty last part will result in a path that ends with a separator.) Note that on Windows, since there is a current directory for each drive, os.path.join("c:", "foo") represents a path relative to the current directory on drive C: (c:foo), not c:\foo.
When it says previous components are "thrown away" means that they are ignored and not included in the final result.
Solution 2:
It is just as the documentation says: if any component is absolute, the previous components are thrown away. If your path begins with /
, then it is absolute. If it's not supposed to be absolute, it shouldn't start with /
.
Post a Comment for "Correct Results From Python's Os.path.join()"