imitações de memória de Python Popen.communicate (

Tenho o seguinte pedaço de código Python (executando a versão 2.7) que resulta emMemoryErrorxceções sendo lançadas quando trabalho com arquivos grandes (vários GB

myProcess = Popen(myCmd, shell=True, stdout=PIPE, stderr=PIPE)
myStdout, myStderr = myProcess.communicate()
sys.stdout.write(myStdout)
if myStderr:
    sys.stderr.write(myStderr)

Lendo o documentação paraPopen.communicate(), parece haver algum buffer em andamento:

Not A leitura dos dados é armazenada em buffer na memória, portanto, não use esse método se o tamanho dos dados for grande ou ilimitad

Existe uma maneira de desativar esse buffer ou forçar a limpeza periódica do cache enquanto o processo é executad

Que abordagem alternativa devo usar no Python para executar um comando que transmita gigabytes de dados parastdout?

Devo observar que preciso lidar com fluxos de saída e err

questionAnswers(2)

yourAnswerToTheQuestion