Módulo de subprocesso Python muito mais lento que os comandos (descontinuado)

Então eu escrevi um script que acessa um monte de servidores usando nc na linha de comando, e originalmente eu estava usando o módulo de comandos do Python e chamando commands.getoutput () e o script rodou em cerca de 45 segundos. Como os comandos estão obsoletos, quero mudar tudo para o módulo de subprocesso, mas agora o script leva 2m45s para ser executado. Alguém tem uma ideia de por que isso seria?

O que eu tive antes:

output = commands.getoutput("echo get file.ext | nc -w 1 server.com port_num")

agora eu tenho

p = Popen('echo get file.ext | nc -w 1 server.com port_num', shell=True, stdout=PIPE)
output = p.communicate()[0]

Obrigado antecipadamente pela ajuda!

questionAnswers(2)

yourAnswerToTheQuestion