os.path.relpath()
needlessly calls abspath()
when given two paths with matching anchors · Issue #99199 · python/cpython (original) (raw)
Navigation Menu
- Explore
- Pricing
Provide feedback
Saved searches
Use saved searches to filter your results more quickly
Appearance settings
Description
relpath()
unconditionally calls abspath()
to make both its arguments absolute before comparing them. This is necessary if the supplied arguments have different anchors, but it is not necessary when the paths' anchors match. We can save a call to getcwd()
/ _getfinalpathname()
by skipping the abspath()
call in this case. This should improve performance a little.
For example, neither of the following should require a call to abspath()
internally:
relpath('foo/bar', 'baz/ding') relpath('/etc/hosts', '/usr/local/bin')