[Python-Dev] unexpected import behaviour (original) (raw)
Alexander Belopolsky alexander.belopolsky at gmail.com
Sat Jul 31 03:21:05 CEST 2010
- Previous message: [Python-Dev] unexpected import behaviour
- Next message: [Python-Dev] unexpected import behaviour
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Fri, Jul 30, 2010 at 2:46 PM, Daniel Waterworth <da.waterworth at gmail.com> wrote: ..
Having thought it through thoroughly, my preference is for a warning.
I don't think it's a good practise to import the main module by filename, as renaming the file will break the code. I got stung after, having dropped into a python interpreter shell and imported the module, I executed a function that uses isinstance. If a warning showed up after importing the module, explaining the problem and suggested that I use import('main') instead, I would have saved myself a fair amount of time debugging code. This is another case of "Explicit is better than implicit.".
You can easily disallow importing main module by filename by simply giving your script a name that does not end with .py or by using say '-' character in the filename. No change to python itself is needed.
- Previous message: [Python-Dev] unexpected import behaviour
- Next message: [Python-Dev] unexpected import behaviour
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]