"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como agilizar o tratamento de arquivos com múltiplas instruções `open()` em Python?

Como agilizar o tratamento de arquivos com múltiplas instruções `open()` em Python?

Publicado em 2024-11-22
Navegar:610

How to Streamline File Handling with Multiple `open()` Statements in Python?

Como melhorar o tratamento de arquivos com múltiplas instruções abertas em Python

Em Python, a função open() é uma ferramenta versátil para entrada de arquivos e saída. Ao trabalhar com vários arquivos, é vantajoso utilizar a instrução with para garantir o gerenciamento adequado de recursos.

Situação:

Considere um trecho de código que lê nomes de um arquivo e anexa texto adicional a nomes específicos. A implementação atual abre arquivos sequencialmente, o que pode não ser o ideal.

Solução:

Python permite usar múltiplas instruções open() dentro de uma única instrução with separando por vírgula eles. Isso permite lidar com vários arquivos simultaneamente e aprimora o gerenciamento de recursos.

def filter(txt, oldfile, newfile):
    '''
    Read a list of names from a file line by line into an output file.
    If a line begins with a particular name, insert a string of text
    after the name before appending the line to the output file.
    '''

    with open(newfile, 'w') as outfile, open(oldfile, 'r', encoding='utf-8') as infile:
        for line in infile:
            if line.startswith(txt):
                line = line[0:len(txt)]   ' - Truly a great person!\n'
            outfile.write(line)

Notas adicionais:

  • Retornar explicitamente de uma função sem valor de retorno é desnecessário.
  • Este recurso foi introduzido no Python 2.7 e 3.1 ou mais recente.
  • Se a compatibilidade com as versões 2.5 ou 2.6 do Python for necessária, o aninhamento com instruções ou usar contextlib.nested é recomendado.

Ao otimizar o manuseio de arquivos dessa maneira, os desenvolvedores podem melhorar a legibilidade do código, o gerenciamento de recursos e a eficiência geral.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3