Преоброзование Python-кода в исполняемый файл внутри python программы

Рейтинг: -5Ответов: 2Опубликовано: 17.07.2023

Как реализовать интерпретирование кода в виде строки в exe файл в Python-скрипте. То есть:

  1. Пользователь открывает Python-файл.
  2. Внутри файла содержится строка.
  3. Python программа преобразует ту строку в exe и сохраняет.

Ответы

▲ 1Принят

Если имелось в виду статичная строка, то элементарно,- байткод в переменную, затем open(file.exe,w).write(byte_code).

data=b'here is bytecode'
with open('name.exe','wb') as exe:
  exe.write(data)

Если имелось ввиду динамичная строка,- то есть которая может меняться от положения юпитера относительно миграции чаек, то ни как,- потому что вопрос звучал бы так "как написать компилятор для какогото яп на питоне"

▲ 0

Вот ответ на мой вопрос (я хотел обращаться к интерпретатору Python в самом коде):

import os
import tempfile
import PyInstaller.__main__

# Ваша строка кода
code = """print('Hello, World!');input()"""

# Создание временного файла для сохранения кода
tempfile_path = tempfile.mktemp(suffix=".py")

# Запись кода во временный файл
with open(tempfile_path, "w") as file:
    file.write(code)

# Задайте параметры pyinstaller для создания exe файла
arguments = [
    "--onefile",  # Создать единый файл exe
    f"--name=some_code",  # Название exe файла
    tempfile_path,  # Путь к временному файлу с кодом
    
]
PyInstaller.__main__.run(arguments)

# Удаление временного файла
os.remove(tempfile_path)

тут используется pyinstaller, установить в Windows можно так:

pip install pyinstaller