On Sat, 29 Nov 2008 03:30:49 am Christian Heimes wrote: ... > May I point you to the two leading underscores? The name '__import__' > clearly suggests that the function is part of Python's internals. By > definition all attributes of the form __*__ are not meant to be used > directly.
What about __doc__, __name__ and __slots__, to mention just a few? I believe that __import__() is the recommended way to import a module known only at runtime. The docs also don't seem to agree with your assertion that __import__ is not to be touched. On the contrary: "The function is invoked by the import statement. It mainly exists so that you can replace it with another function that has a compatible interface..." http://docs.python.org/library/functions.html Far from saying "Do Not Touch", the docs say "Please, go ahead and replace __import__ if needed". If the OP wants "import x.y.z" to load module z instead of x, it seems to me that is exactly the problem __import__ is designed to allow him to do. > Any suggestion to change the arguments of __import__() are > futile. It's not going to happen unless the feature is required by > Python's internal import system. That may very well be true, but I don't know why you're dumping on me. It wasn't my suggestion to change __import__. I merely said I could see some advantages to it. I spent most of my post telling the OP why I thought his arguments were wrong! -- Steven _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com