On Tuesday, 26 August 2014 23:55:51 UTC+1, Twirlip2  wrote:

> It doesn't seem immediately obvious how to get a definitive list
> of which names to avoid using (and therefore, inadvertently
> 'shadowing', as I did today).
> 
> For example, 
> <https://docs.python.org/3/tutorial/modules.html#standard-modules>
> doesn't list the filename 'code.py', which is the one I clashed
> with today.
> 
> Of course, if all else fails, I will be sure to manually search
> the Python installation directory for possible clashes, but there
> must be a more logically secure way, one more integral to the
> language itself.

Does the interaction below (copied from an IDLE session) show a safe
and reliable way to do it?

>>> from importlib.util import find_spec
>>> find_spec('code')
ModuleSpec(name='code', loader=<_frozen_importlib.SourceFileLoader object at 
0x01139330>, origin='I:\\Python34\\lib\\code.py')
>>> find_spec('ftang')
>>> 

This seems to show that I can safely use the name 'ftang.py'
for a module in the search path, if I want; but might it be
dangerous in some way, or might it fail to find some module
name that I might still cause a clash with?
-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to