Como posso abrir vários arquivos (número de arquivos desconhecidos anteriormente) usando a instrução “with open”?

Eu especificamente preciso usarwith open para abrir os arquivos, porque preciso abrir algumas centenas de arquivos e mesclá-los usando a mesclagem K-way. Entendo que, idealmente, eu deveria ter mantido K baixo, mas não previ esse problema.

Começar do zero não é uma opção agora, pois tenho um prazo a cumprir. Portanto, neste momento, preciso de E / S muito rápidas que não armazenem a parte inteira / enorme do arquivo na memória (porque existem centenas de arquivos, cada um com ~ 10 MB). Eu só preciso ler uma linha de cada vez para mesclar o K-way. Reduzir o uso de memória é meu foco principal agora.

Eu aprendi issowith open é a técnica mais eficiente, mas não consigo entender comoopen todos os arquivos juntos em um únicowith open declaração. Desculpe minha ignorância iniciante!

Atualizar: Este problema foi resolvido. Acontece que o problema não era sobre como eu estava abrindo os arquivos. Eu descobri que o uso excessivo de memória era devido à coleta de lixo ineficiente. Eu não usowith open em absoluto. Eu usei o regularf=open() ef.close(). A coleta de lixo salvou o dia.

questionAnswers(3)

yourAnswerToTheQuestion