Я пытаюсь запустить код Python 3 на Python 2, но это дает мне эту ошибку:
TypeError: должен быть Unicode, а не str Я пробовал добавить str () перед chr (i) и «u» перед «P», но я явно делаю это неправильно.
tbl = dict.fromkeys(i for i in range(sys.maxunicode)
if unicodedata.category(chr(i)).startswith("P"))
def remove_punctuation(text):
return text.translate(tbl)
# initialize the stemmer
stemmer = LancasterStemmer()
# variable to hold the Json data read from the file
data = None
# read the json file and load the training data
with open('data.json') as json_data:
data = json.load(json_data)
print(data)
Не могу, потому что Tensorflow, Keras и все остальное отлично работают под Python 2 на этом ПК.
Вы должны решить: Python 3 или Python без кода Python 3. Кстати, Tensorflow и Keras хорошо работают на Python 3.6.






Используйте unichr, а не chr, чтобы создать символ Unicode из порядкового номера в Python 2:
tbl = dict.fromkeys(i for i in range(sys.maxunicode)
if unicodedata.category(unichr(i)).startswith("P"))
Если можете, переключитесь на Python 3. Поддержка Python 2 заканчивается в следующем году.
Спасибо! Сделаю. Мне нужно было быстрое исправление, и я пойду с Python 3 на следующем ПК, когда он появится.
Как насчет того, чтобы запустить его на Python 3?