(original) (raw)
On Tue, Apr 17, 2012 at 13:45, Philip Jenvey <pjenvey@underboss.org> wrote:
Isn't it more explicit to cache the NullImporter instead of None?
On Apr 14, 2012, at 1:03 PM, Brett Cannon wrote:
> And lastly, sticking None in sys.path\_importer\_cache would no longer mean "do the implicit thing" and instead would mean the same as NullImporter does now (which also means import can put None into sys.path\_importer\_cache instead of NullImporter): no finder is available for an entry on sys.path when None is found.
I disagree. NullImporter is just another finder that just so happens to always fail. None is explicitly not a finder and thus obviously not going to do anything. Isn't it clearer to say \`\`sys.path\_importer\_cache\[path\] is None\`\` than \`\`isinstance(sys.path\_importer\_cache\[path\], imp.NullImporter)\`\`? I mean we have None to represent something is nothing which is exactly what I want to convey; None in sys.path\_importer\_cache means there is no finder for that path.