У объекта 'str' нет атрибута 'maketrans' - PullRequest
0 голосов
/ 05 мая 2019

Я хочу вернуть слова файла в нижнем регистре без знаков препинания.

, несмотря на наличие каталогов str и bytes Я не могу импортировать ни один из моих кодов без ошибки импорта.Импорт строки работает, даже несмотря на то, что интерпретатор python говорит, что «имя» строка «не определена»

def text_to_words(the_text):
    """ return a list of words with all punctuation removed,
        and all in lowercase.
    """

    my_substitutions = the_text.maketrans(
      # If you find any of these
      "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!\"#$%&()*+,-./:;<=>?@[]^_`{|}~'\\",
      # Replace them by these
      "abcdefghijklmnopqrstuvwxyz                                          ")

    # Translate the text now.
    cleaned_text = the_text.translate(my_substitutions)
    wds = cleaned_text.split()
    return wds

это выдает ошибку в названии в отличие от перевода.

1 Ответ

1 голос
/ 05 мая 2019

В Python 2.x сначала необходимо импортировать maketrans, он находится в string модуле:

from string import maketrans

Затем измените строку, в которой вы создаете таблицу перевода:

my_substitutions = maketrans( ... )

В Python 3.x maketrans уже определен для str, поэтому вам не нужно его импортировать.

Вы всегда можете проверить, какие методы доступны с:

dir(str) 
...