How/where to use os.path.sep?
Question: `os.path.sep` is the character used by the operating system to separate
pathname components.

But when `os.path.sep` is used in `os.path.join()`, why does it truncate the
path?

Example:

Instead of `'home/python'`, `os.path.join` returns `'/python'`:

    
    
    >>> import os
    >>> os.path.join('home', os.path.sep, 'python')
    '/python'
    

I know that
[`os.path.join()`](https://docs.python.org/2/library/os.path.html#os.path.join)
inserts the directory separator implicitly.

Where is `os.path.sep` useful? Why does it truncate the path?


Answer: > Where os.path.sep is usefull?

I suspect that it exists mainly because a variable like this is required in
the module anyway (to avoid hardcoding), and if it's there, it might as well
be documented. Its documentation says that it is ["occasionally
useful"](https://docs.python.org/2/library/os.html#os.sep).

> Why it truncates the path?

From the [docs for
`os.path.join()`](https://docs.python.org/2/library/os.path.html#os.path.join):

> If a component is an absolute path, all previous components are thrown away
> and joining continues from the absolute path component.

and `/` is an absolute path on *nix systems.

