mirror of
https://github.com/python/cpython.git
synced 2026-01-06 07:22:09 +00:00
gh-117636: Remove redundant type check in os.path.join() (#117638)
This commit is contained in:
parent
e01831760e
commit
9ee94d1391
4 changed files with 5 additions and 6 deletions
|
|
@ -108,8 +108,6 @@ def join(path, *paths):
|
|||
seps = '\\/'
|
||||
colon_seps = ':\\/'
|
||||
try:
|
||||
if not paths:
|
||||
path[:0] + sep #23780: Ensure compatible data type even if p is null.
|
||||
result_drive, result_root, result_path = splitroot(path)
|
||||
for p in paths:
|
||||
p_drive, p_root, p_path = splitroot(p)
|
||||
|
|
|
|||
|
|
@ -77,13 +77,11 @@ def join(a, *p):
|
|||
sep = _get_sep(a)
|
||||
path = a
|
||||
try:
|
||||
if not p:
|
||||
path[:0] + sep #23780: Ensure compatible data type even if p is null.
|
||||
for b in p:
|
||||
b = os.fspath(b)
|
||||
if b.startswith(sep):
|
||||
if b.startswith(sep) or not path:
|
||||
path = b
|
||||
elif not path or path.endswith(sep):
|
||||
elif path.endswith(sep):
|
||||
path += b
|
||||
else:
|
||||
path += sep + b
|
||||
|
|
|
|||
|
|
@ -56,6 +56,8 @@ def test_join(self):
|
|||
self.assertEqual(fn(b"/foo", b"bar", b"baz"), b"/foo/bar/baz")
|
||||
self.assertEqual(fn(b"/foo/", b"bar/", b"baz/"), b"/foo/bar/baz/")
|
||||
|
||||
self.assertEqual(fn("a", ""), "a/")
|
||||
self.assertEqual(fn("a", "", ""), "a/")
|
||||
self.assertEqual(fn("a", "b"), "a/b")
|
||||
self.assertEqual(fn("a", "b/"), "a/b/")
|
||||
self.assertEqual(fn("a/", "b"), "a/b")
|
||||
|
|
|
|||
|
|
@ -0,0 +1 @@
|
|||
Speedup :func:`os.path.join`.
|
||||
Loading…
Add table
Add a link
Reference in a new issue