Запустите командную строку в Python и сохраните детали

Я пытаюсь запустить некоторую командную строку в скрипте Python, например:

ping 8.8.8.8

и когда я пишу этот код:

import os
os.system('ping 8.8.8.8')

это печатает мне детали команды. но я хочу, чтобы это была фоновая команда, что означает, что я не хочу, чтобы пользователь видел все детали. я хочу сохранить его в переменную, а после этого отредактировать и распечатать как захочу. Как я могу это сделать? я пытаюсь сохранить то, что функция возвращает, как:

answer = os.system('ping 8.8.8.8')

а функция возврата 0. помочь кому-нибудь?

2 ответа

Просто создайте bat-файл с записанным в нем ping 8.8.8.8. Затем вы можете использовать команду subprocess, чтобы вызвать ее из скрипта python.

import subprocess
subprocess.Popen('ping.bat')

import os res = os.popen('ping 8.8.8.') print(res.read()) res.close()

Но я думаю, что безопаснее использовать subprocess.Popen() вместо os.popen(),
Вот покажи как переключаться

Другие вопросы по тегам