On 13/07/07, Phillip J. Eby email@example.com wrote:
After thinking about it some more, I suggest that instead of using a special option to execute a zipfile, we simply always get an importer for the script filename. If the importer is imp.NullImporter, then we do normal script processing. Otherwise, we set set sys.path = sys.argv = script, and import __main__.
This will support zipfiles and directories, Windows and Unix, even using "env" (since no option to the interpreter is required).
Let me get this right: if I had a one-liner hello.py (containing the line print "Hello, world") all I'd need to do is
(1) rename hello.py to __main__.py (2) zip hello.zip __main__.py.
would work exactly as python hello.py did previously?
Sounds plausible. I'm not entirely clear on the details of the code needed (long day!) - would you be willing to produce a patch? (One major point in favour of the -z patch is that it exists already!)