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

Как сохранить пробелы и точки при удалении символов, отличных от ASCII, в текстовых файлах Python?

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

How to Preserve Spaces and Periods While Removing Non-ASCII Characters in Python Text Files?

Обработка символов, не входящих в ASCII, сохранение пробелов и точек

При работе с текстовыми файлами часто необходимо удалять символы, не входящие в ASCII, во время сохранение определенных объектов, таких как пробелы и периоды. Предоставленный код Python успешно отфильтровывает символы, отличные от ASCII, но также непреднамеренно удаляет пробелы и точки.

Чтобы решить эту проблему, нам нужно изменить функцию onlyascii(), чтобы явно исключать пробелы и точки из процесса фильтрации. . Вот обновленная версия:

def onlyascii(char):
    if char == ' ' or char == '.':
        return char
    elif ord(char)  127:
        return ''
    else:
        return char

В этой обновленной функции onlyascii() мы проверяем, является ли символ пробелом (' ') или точкой ('.'), и возвращаем его, если да. Эта модификация гарантирует, что эти объекты сохраняются в отфильтрованной строке.

Чтобы использовать обновленную функцию onlyascii(), мы можем изменить функцию get_my_string() для фильтрации символов с помощью этой функции:

def get_my_string(file_path):
    f = open(file_path, 'r')
    data = f.read()
    f.close()
    filtered_data = filter(onlyascii, data)
    filtered_data = filtered_data.lower()
    return ''.join(filtered_data)

Метод join() используется для объединения символов из итерируемого объекта, возвращаемого функцией filter(), в результате чего получается строка.

При реализации этих изменений, вы можете удалять символы, не входящие в ASCII, сохраняя при этом пробелы и точки в текстовой строке, что соответствует конкретным требованиям вашего проекта.

Заявление о выпуске Эта статья перепечатана по адресу: 1729340957. В случае каких-либо нарушений, пожалуйста, свяжитесь с [email protected], чтобы удалить ее.
Последний учебник Более>

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

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

Copyright© 2022 湘ICP备2022001581号-3