Как просмотреть фактическую команду, выполняемую «subprocess.check_call ()»

У меня есть команда, приведенная ниже

subprocess.check_call(["C:\\Program Files\\operation.exe", "execute", "-af", "createrecord.xml", " -stuName", student,"-gender" ,gender], shell=True) 

Когда я запускаю эту команду вручную, она работает нормально. Я считаю, что subprocess.check_call () не правильно проанализировал команду (возможно, моя ошибка). Как просмотреть вывод subprocess.check_call ().
Я хотел бы видеть acutal команду с аргументами, вызванными subprocess.check_call ()

ПРИМЕЧАНИЕ. Я не хочу видеть возвращаемое значение выполнения команды. Я только, что посмотреть, как команда была отформатирована subprocess.check_call ()

Вы должны использовать форму списка материала subprocess только с (возможно, неявным) shell=False а строковая форма – только с shell=True .

Оболочка может работать только с командной строкой, которая затем анализирует сама по себе. Без оболочки используются функции exec*() которые передают аргументы командной строки в отдельном виде.

Для Windows это поддерживается только до определенного уровня, но остается в силе.