>>> os.path.join('a', 'b') [...]path.py:75 call => join(a='a') [...]path.py:80 line a = os.fspath(a) [...]path.py:81 line sep = _get_sep(a) [...]path.py:41 call => _get_sep(path='a') [...]path.py:42 line if isinstance(path, bytes): [...]path.py:45 line return '/' [...]path.py:45 return <= _get_sep: '/' [...]path.py:82 line path = a [...]path.py:83 line try: [...]path.py:84 line if not p: [...]path.py:86 line for b in map(os.fspath, p): [...]path.py:87 line if b.startswith(sep): [...]path.py:89 line elif not path or path.endswith(sep): [...]path.py:92 line path += sep + b [...]path.py:86 line for b in map(os.fspath, p): [...]path.py:96 line return path [...]path.py:96 return <= join: 'a/b' 'a/b'