Как расширить размер максимальной команды в 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 шт):
Длинная команда (для os.system()? <- нет, тогда: base64-декодированная команда PowerShell прямо там)? кодируем powershell-вызов в base64->временный batchfile -> его вызывает python.
Откомментируйте, если не помогло, т.к., мне кажется, работает, т.к. делал упаковщики-трансляторы синтаксиса бинарников внутри Batchfile через кодирование certutil. А у Вас тем более, Python да PowerShell.
Но Вы не тот фрагмент кода скинули. Надо код вызова, либо, если вызов работает, проверить целостность файла. Вот так и появляется профессия тестировщика.
//лирика (о своём): а я всё гадал, почему же так форсится команда тестирования в npm, но теперь все сомнения отпали, спасибо.