In Perl, the interpreter kind of stops when it encounters a line with
__END__
in it. This is often used to embed arbitrary data at the end of a perl script. In this way the perl script can fetch and store data that it stores ‘in itself’, which allows for quite nice opportunities.
In my case I have a pickled object that I want to store somewhere. While I can use a file.pickle file just fine, I was looking for a more compact approach (to distribute the script more easily).
Is there a mechanism that allows for embedding arbitrary data inside a python script somehow?
If the data is not particularly large (many K) I would just .encode(‘base64’) it and include that in a triple-quoted string, with .decode(‘base64’) to get back the binary data, and a pickle.loads() call around it.