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 Tkinter:

  import Tkinter as tk

  ...
  tk.Scrollbar...

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

-tkc




--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to