mirror of
				https://github.com/python/cpython.git
				synced 2025-11-04 07:31:38 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			24 lines
		
	
	
	
		
			713 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			24 lines
		
	
	
	
		
			713 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
#!/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
 |