From de3337913f08266b16842f21a67427d10725ed8f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20v=2E=20L=C3=B6wis?= Date: Thu, 12 Dec 2002 20:30:20 +0000 Subject: Patch #536661: Improve performance of splitext. Add test_macpath. --- Lib/ntpath.py | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) (limited to 'Lib/ntpath.py') diff --git a/Lib/ntpath.py b/Lib/ntpath.py index 0f1dd4dc60..4e7bb885a9 100644 --- a/Lib/ntpath.py +++ b/Lib/ntpath.py @@ -169,20 +169,12 @@ def splitext(p): Extension is everything from the last dot to the end. Return (root, ext), either part may be empty.""" - root, ext = '', '' - for c in p: - if c in ['/','\\']: - root, ext = root + ext + c, '' - elif c == '.': - if ext: - root, ext = root + ext, c - else: - ext = c - elif ext: - ext = ext + c - else: - root = root + c - return root, ext + + i = p.rfind('.') + if i<=max(p.rfind('/'), p.rfind('\\')): + return p, '' + else: + return p[:i], p[i:] # Return the tail (basename) part of a path. -- cgit v1.2.1