Сначала вам нужно импортировать модуль sys
, чтобы вы могли использовать методы sys.stdout
write
и flush
.
import sys
Вам также необходимо импортировать модуль подпроцесса, чтобы можно было использовать метод subprocess.check_output
.
import subprocess
Используйте sys.stdout.write
вместо print
:
sys.stdout.write("Prefix: ")
Затем вам нужно заменить subprocess.call
на subprocess.check_output
, который запускает данную команду и ждет вывода.
response = subprocess.check_output(["cmd", "--option", "filename.x"])
ПРИМЕЧАНИЕ: вам нужно декодировать ответ, потому что это байтовый объект, а не строка.
sys.stdout.write(response.decode("UTF-8"))
И, наконец, вам нужно сбросить вывод:
sys.stdout.flush()
Вот окончательный результат:
import sys, subprocess
sys.stdout.write("Prefix: ")
response = subprocess.check_output(["cmd", "--option", "filename.x"])
sys.stdout.write(response.decode("UTF-8"))
sys.stdout.flush()
Удачи, надеюсь, никто больше не споткнется в этом вопросе, как я.