On Fri, 29 Aug 2008, Greg Ewing wrote:
Steven D'Aprano wrote:
I don't think M.__file__ should lie and say it was loaded from a file that
it wasn't loaded from. It's useful to be able to look at a module and see
what file it was actually loaded from.
On the other hand, it could be useful to be able to find
the source file for a module, regardless of whether it
was loaded from a .py, .pyc or .pyo.
Maybe there should be a __source__ attribute for that?
Or is os.path.splitext(M.__file__)[0] + ".py" considered
good enough for that?
I think .__source__ is a much better idea. It's more explicit to start
with, and on top of that it can simply be None when there is no source
file available, which is much more explicit than "file not found means no
source file available". Also, if a feature is ever added to allow telling
Python to put the compiled files in a separate tree (like javac -d
directory in the Java universe) then it will be even more clear that
computing the source location from __file__ is not the way to go.
PS, in case it's not clear, I want that feature, in order to keep .pyc
files out of my SVN checkouts. I hate having automatically generated
files in my workspace.
Isaac Morland CSCF Web Guru
DC 2554C, x36650 WWW Software Specialist
_______________________________________________
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