def _pl_find_on_path(self, fullname, path=None):
subname = fullname.split(".")[-1]
if self.path is None and subname != fullname:
return None
path = os.path.realpath(self.path)
for (fp, ispkg) in FLS:
for loader in self._loader_handlers:
composed_path = fp % (('%s' + SEP + '%s') % (path, subname), loader.suffix)
if os.path.isdir(composed_path):
raise IOError("Invalid: Directory name ends in recognized suffix")
if os.path.isfile(composed_path):
return PolyLoader(fullname, composed_path, ispkg)
# Fall back onto Python's own methods.
try:
file, filename, etc = imp.find_module(subname, [path])
except ImportError as e:
return None
return pkgutil.ImpLoader(fullname, file, filename, etc)
评论列表
文章目录