from package import * without overwriting similarly named functions?

Tim Chase python.list at
Fri Oct 24 20:27:27 CEST 2008

> I have multiple packages that have many of the same function names. Is
> it possible to do
> from package1 import *
> from package2 import *
> without overwriting similarly named objects from package1 with
> material in package2? How about a way to do this that at least gives a
> warning?

Yeah, just use

   from package2 import *
   from package1 import *

then nothing in package1 will get tromped upon.

However, best practices suggest leaving them in a namespace and 
not using the "import *" mechanism for precisely this reason. 
You can always use module aliasing:

   import package1 as p1
   import package2 as p2

so you don't have to type "package1.subitem", but can instead 
just write "p1.subitem".  I prefer to do this with packages like 

   import Tkinter as tk


so it doesn't litter my namespace, but also doesn't require me to 
type "Tkinter.Scrollbar", prefixing with "Tkinter." for everything.


More information about the Python-list mailing list