Как вызвать cmd команды и записывать данные ответа от cmd?

У меня вопрос: Как можно вызвать консольную команду и записать НЕ ВСЕ данные в консоль пробовал через file.write os.system('ipconfig')` но не понял как можно в таком случае записать данные в переменную


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

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

os.system для этой задачи не подойдет, используйте subprocess

Примерно так:

import subprocess

try:
    text = subprocess.check_output(
        ["ipconfig"],
        stderr=subprocess.STDOUT,
    ).decode('cp866')

except subprocess.CalledProcessError as e:
    text = str(e)

print(text)
→ Ссылка
Автор решения: Kers

Если нужно просто сохранить вывод консоли в файл то можно использовать возможности консоли.

os.system("ping ya.ru > ping.txt")

Сохранит в файл ping.txt в кодировки windows-866.

Если вывод нужно потом как то обработать в программе то вариант от gil9red функциональнее.

→ Ссылка