Как вызвать 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 функциональнее.