Kaydet (Commit) 65ad043e authored tarafından Georg Brandl's avatar Georg Brandl

Bug #1560179: speed up posixpath.(dir|base)name

üst 8134d06e
...@@ -106,18 +106,23 @@ def splitdrive(p): ...@@ -106,18 +106,23 @@ def splitdrive(p):
return '', p return '', p
# Return the tail (basename) part of a path. # Return the tail (basename) part of a path, same as split(path)[1].
def basename(p): def basename(p):
"""Returns the final component of a pathname""" """Returns the final component of a pathname"""
return split(p)[1] i = p.rfind('/') + 1
return p[i:]
# Return the head (dirname) part of a path. # Return the head (dirname) part of a path, same as split(path)[0].
def dirname(p): def dirname(p):
"""Returns the directory component of a pathname""" """Returns the directory component of a pathname"""
return split(p)[0] i = p.rfind('/') + 1
head = p[:i]
if head and head != '/'*len(head):
head = head.rstrip('/')
return head
# Is a path a symbolic link? # Is a path a symbolic link?
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment