[Python-Dev] Documentation for ability to execute zipfiles & directories
Nick Coghlan
ncoghlan at gmail.com
Tue Mar 4 15:14:04 CET 2008
Oleg Broytmann wrote:
> On Tue, Mar 04, 2008 at 10:35:42PM +1000, Nick Coghlan wrote:
>> not needing an explicit interpreter option makes it more shebang friendly
>
> Sorry, I missed something here. How does one combine a zipfile with
> a shebang script?!
Very carefully ;)
As a more helpful answer, the ZIP spec allows additional data to be
included in the file before the ZIP header. A more common way of using
this is to add a zip file on to the end of an ELF executable while still
using normal zipfile utilities to read the data in the zip file section
and ignore the executable part.
It turns out you can actually use the same trick to prepend a shebang
line like "/usr/bin/env python" and a newline character - the whole zip
file is still a binary file, but that doesn't prevent the shell from
reading that first line of text and handing the file over to Python for
execution.
The fact that this actually works was also news to me when the issue I
linked in my previous post was first brought to my attention :)
Cheers,
Nick.
--
Nick Coghlan | ncoghlan at gmail.com | Brisbane, Australia
---------------------------------------------------------------
http://www.boredomandlaziness.org
More information about the Python-Dev
mailing list