Пилинт говорит, что модуль «строка» устарел. Каков новый способ получить диапазон символов нижнего регистра?

15

Я просто пили код и заметил, что коллега импортировал старый «строковый» модуль Python, чтобы не использовать какие-либо функции из него, а просто иметь доступ к константе string.lowercase .

Я удалил устаревший импорт и заменил «abcdef ...» для string.lowercase, но мне было интересно: есть ли лучший способ, которым я должен это делать?

    
задан mikemaccana 20.05.2013 в 16:04
источник
  • Или вы могли бы использовать что-то вроде: [chr (i) для i в диапазоне (97,123)] –  squiguy 20.05.2013 в 16:09

1 ответ

21

string сам не устарел, просто такие методы, как string.join , которые лучше доступны через строковый объект. Вы все равно можете импортировать string и получить string.ascii_lowercase за то, что хотите.

pylint сообщает об этом, поскольку ошибка является известной ошибкой - см. Ссылка .

    
ответ дан PaulMcG 20.05.2013 в 16:08
  • Интересно. Я знаю о замене строковых функций строковыми методами, но pylint отмечает любой импорт строки как самой ошибки. Возможно, ошибка в pylint? –  mikemaccana 20.05.2013 в 17:03
  • Указывает на импорт импортируемых конкретных имен, например, из строки import ascii_lowercase? –  PaulMcG 20.05.2013 в 18:25
  • Да. pylint по-прежнему возвращает Использование устаревшего модуля 'string', из которого импортируется строка ascii_lowercase. –  mikemaccana 20.05.2013 в 18:42
  • Это ошибка в pylint. –  PaulMcG 20.05.2013 в 18:46
  • Небольшое исследование показывает, что вы правы: logilab.org/ticket/2481. Если вы добавите эту ссылку в свой ответ, я буду отмечать ее как правильную. –  mikemaccana 20.05.2013 в 18:59