«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как упростить обработку файлов с помощью нескольких операторов `open()` в Python?

Как упростить обработку файлов с помощью нескольких операторов `open()` в Python?

Опубликовано 22 ноября 2024 г.
Просматривать:304

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

Как улучшить обработку файлов с помощью нескольких операторов Open в Python

В Python функция open() является универсальным инструментом для ввода файлов и вывод. При работе с несколькими файлами выгодно использовать оператор with, чтобы обеспечить правильное управление ресурсами.

Ситуация:

Рассмотрим фрагмент кода, который считывает имена из файла и добавляет дополнительный текст к определенным именам. Текущая реализация открывает файлы последовательно, что может быть неоптимальным.

Решение:

Python позволяет использовать несколько операторов open() в одном операторе with, разделяя их запятыми. их. Это позволяет обрабатывать несколько файлов одновременно и улучшает управление ресурсами.

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)

Дополнительные примечания:

  • Явный возврат из функции без возвращаемого значения не требуется.
  • Эта функция был представлен в Python 2.7 и 3.1 или новее.
  • Если совместимость с версиями Python 2.5 или 2.6 требуется, рекомендуется вложение с помощью операторов или использование contextlib.nested.

Оптимизируя обработку файлов таким образом, разработчики могут улучшить читаемость кода, управление ресурсами и общую эффективность.

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3