Как мне использовать python, чтобы поразить эту команду и вернуть результат?

$whois abc.com

Я хочу использовать Python, чтобы нажать эту команду, а затем дать результат в виде строки текста. Как я могу это сделать?

3 ответа

Решение

Вы можете использовать подпроцесс, например:

from subprocess import Popen, PIPE
output = Popen(["/usr/bin/whois", "abc.com"], stdout = PIPE).communicate()[0]

stdout = PIPE параметр заставляет stdout записываться во временный канал вместо консоли (если вы этого не хотите, удалите stdout параметр).

Подпроцесс в порядке. С другой стороны, протокол whois настолько прост, что я не понимаю, зачем использовать внешнюю команду (и зависит от ее доступности). Просто откройте TCP-соединение с портом 43, отправьте однострочный запрос и прочитайте ответы.

С subprocess,

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