Модуль подпроцесса Python намного медленнее, чем команды (устаревший)

Итак, я написал сценарий, который обращается к группе серверов, используя nc в командной строке, и первоначально я использовал модуль команд Python и вызов commands.getoutput(), и скрипт запустился примерно через 45 секунд. Поскольку команды устарели, я хочу изменить все на использование модуля подпроцесса, но теперь для запуска сценария требуется 2 минуты 45 секунд. У кого-нибудь есть идеи, почему это может быть?

Что было раньше:

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]

Заранее спасибо за помощь!

11
задан yasar 4 June 2012 в 22:30
поделиться