
On Thu, 11 Aug 2011 11:39:52 -0400 Barry Warsaw <barry@python.org> wrote:
On Aug 11, 2011, at 04:39 PM, Éric Araujo wrote:
* XXX what is the __file__ of a "pure virtual" package? ``None``? Some arbitrary string? The path of the first directory with a trailing separator? No matter what we put, *some* code is going to break, but the last choice might allow some code to accidentally work. Is that good or bad? A pure virtual package having no source file, I think it should have no __file__ at all. I don’t know if that would break more code than using an empty string for example, but it feels righter.
I agree that the empty string is the worst of the choices. no __file__ or __file__=None is better.
None should be the answer. It simplifies inspection of module data (repr(__file__) gives you something recognizable instead of raising) and makes semantically sense (!) since there is, indeed, no actual file backing the module. Regards Antoine.