Staging
v0.5.1
https://github.com/python/cpython
Raw File
Tip revision: 6f8c8320e9eac9bc7a7f653b43506e75916ce8e8 authored by Łukasz Langa on 13 May 2020, 17:31:54 UTC
Python 3.8.3
Tip revision: 6f8c832
exe_with_z64
#!/bin/bash
INTERPRETER_UNDER_TEST="$1"
if [[ ! -x "${INTERPRETER_UNDER_TEST}" ]]; then
    echo "Interpreter must be the command line argument."
    exit 4
fi
EXECUTABLE="$0" exec "${INTERPRETER_UNDER_TEST}" -E - <<END_OF_PYTHON
import os
import zipfile

namespace = {}

filename = os.environ['EXECUTABLE']
print(f'Opening {filename} as a zipfile.')
with zipfile.ZipFile(filename, mode='r') as exe_zip:
  for file_info in exe_zip.infolist():
    data = exe_zip.read(file_info)
    exec(data, namespace, namespace)
    break  # Only use the first file in the archive.

print('Favorite number in executable:', namespace["FAVORITE_NUMBER"])

### Archive contents will be appended after this file. ###
END_OF_PYTHON
PK-\*OI_?S��������-EE# Test data file to be stored within a zip file.
FAVORITE_NUMBER = 5
PK-\*OI_?SEE��-PK,-/xPK�PK/x
back to top