Как расширить размер максимальной команды в os python?

Для запуска окон при запуске приложения использую данную команду: os.system('команда'), но моя команда видимо слишком велика для cmd, она просто не вставляется до конца. Поэтому команда не выполняется. С библиотекой subprocess то же самое. Можно ли как-то обойти это ограничение?

Команда представляет из себя команду powershell -enc и длинющий код закодированный в base64. Немного поковырявшись я обнаружил что такого ограничения нет в powershell, но как запустить его в os/subprocess я не знаю(просто команда powershell не помогает есстественно).

Вот сам код упаковывания:

with open("data/cmd_to_exe.py", 'w+', encoding='utf-8') as prepairing:
    prepairing.write('import os\n')
    for code in codes:
        prepairing.write(f'os.system("{code[0:-1]}")\n')

P.S. этот код позже преобразовывается в exe, поэтому я всё записываю в файл, но по факту, всё работает как и по запросу компилятора.


Ответы (1 шт):

Автор решения: niknils

Длинная команда (для os.system()? <- нет, тогда: base64-декодированная команда PowerShell прямо там)? кодируем powershell-вызов в base64->временный batchfile -> его вызывает python.

Откомментируйте, если не помогло, т.к., мне кажется, работает, т.к. делал упаковщики-трансляторы синтаксиса бинарников внутри Batchfile через кодирование certutil. А у Вас тем более, Python да PowerShell.

Но Вы не тот фрагмент кода скинули. Надо код вызова, либо, если вызов работает, проверить целостность файла. Вот так и появляется профессия тестировщика.

//лирика (о своём): а я всё гадал, почему же так форсится команда тестирования в npm, но теперь все сомнения отпали, спасибо.

→ Ссылка