mirror of
https://github.com/python/cpython.git
synced 2025-07-08 03:45:36 +00:00
Add importlib.util.resolve_name().
This commit is contained in:
parent
61009468c5
commit
d200bf534b
4 changed files with 73 additions and 1 deletions
|
@ -3,3 +3,19 @@
|
|||
from ._bootstrap import module_for_loader
|
||||
from ._bootstrap import set_loader
|
||||
from ._bootstrap import set_package
|
||||
from ._bootstrap import _resolve_name
|
||||
|
||||
|
||||
def resolve_name(name, package):
|
||||
"""Resolve a relative module name to an absolute one."""
|
||||
if not name.startswith('.'):
|
||||
return name
|
||||
elif not package:
|
||||
raise ValueError('{!r} is not a relative name '
|
||||
'(no leading dot)'.format(name))
|
||||
level = 0
|
||||
for character in name:
|
||||
if character != '.':
|
||||
break
|
||||
level += 1
|
||||
return _resolve_name(name[level:], package, level)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue