Issue
For example, I want to join a prefix path to resource paths like /js/foo.js.
I want the resulting path to be relative to the root of the server. In the above example if the prefix was "media" I would want the result to be /media/js/foo.js.
os.path.join does this really well, but how it joins paths is OS dependent. In this case I know I am targeting the web, not the local file system.
Is there a best alternative when you are working with paths you know will be used in URLs? Will os.path.join work well enough? Should I just roll my own?
Solution
Since, from the comments the OP posted, it seems he doesn't want to preserve "absolute URLs" in the join (which is one of the key jobs of urlparse.urljoin
;-), I'd recommend avoiding that. os.path.join
would also be bad, for exactly the same reason.
So, I'd use something like '/'.join(s.strip('/') for s in pieces)
(if the leading /
must also be ignored -- if the leading piece must be special-cased, that's also feasible of course;-).
Answered By - Alex Martelli
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.