Модуль подпроцесса Python намного медленнее команд (не рекомендуется)
Поэтому я написал сценарий, который обращается к группе серверов с помощью nc в командной строке, и первоначально я использовал модуль команд Python и вызывал command.getoutput (), и сценарий выполнялся примерно через 45 секунд. Поскольку команды устарели, я хочу изменить все на использование модуля подпроцесса, но теперь сценарию требуется 2m45s для запуска. У кого-нибудь есть идея, почему это будет?
Что у меня было раньше:
output = commands.getoutput("echo get file.ext | nc -w 1 server.com port_num")
Теперь у меня есть
p = Popen('echo get file.ext | nc -w 1 server.com port_num', shell=True, stdout=PIPE)
output = p.communicate()[0]
Заранее спасибо за помощь!