Попробуй так:
import subprocess
try:
subprocess.check_call(["call", "cmd", "/k", "echo Hello"], shell=True)
except subprocess.CalledProcessError:
print("Error")
Значение:
call
- вызвать оболочку внутри исполняемого файла python
cmd
- открыть окно командной строки
/k
- запустить команду и затем вернуться к приглашению cmd
(в основном, означает удерживать окно cmd
Если вы хотите запустить все в новой оболочке, замените call
на ключевое слово start
в аргументах.
Для дополнительных флагов: запустите cmd /?
в приглашении cmd.
Примечание: Хорошее программирование - помещать вызовы методов или функций в блоки обработки ошибок, такие как try-except-finally
.