Confused with module and .py files

Steven D'Aprano steve at REMOVETHIScyber.com.au
Wed Oct 5 08:44:21 EDT 2005


On Wed, 05 Oct 2005 13:46:30 +0530, Iyer, Prasad C wrote:

> 
> Actually I am bit confused between the modules and .py file
> How do I differentiate between the 2.
> 
> For example
> I have a file import1.py, import2.py file
>
> Which has few functions and classes
> And if I have a class with same name "BaseClass" in both the file
> 
> How would I use it if I declare it as given below in my 3rd class
> 
> from import1.py import *
> from import2.py import *

You can't, because the BaseClass from the second import over-writes the
BaseClass from the first.

In general, "from module import *" is a bad idea, because you don't know
what names you are importing: you can have name collisions, where a name
in one module clashes with a name in your code, or another module. That is
what is happening with your code.

The way to prevent that is to use Python's namespaces: instead of "from
module import name", use "import module", and then call module.name.


-- 
Steven.




More information about the Python-list mailing list