我正在尝试在Python 2上运行python 3代码,但这给了我这个错误:
TypeError:必须为unicode,而不是str 我曾尝试在chr(i)之前添加str(),在“ P”之前添加“ u”,但是我显然做错了。
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)
答案 0 :(得分:0)
使用unichr
而非chr
从Python 2上的序数创建Unicode字符。
tbl = dict.fromkeys(i for i in range(sys.maxunicode)
if unicodedata.category(unichr(i)).startswith("P"))
如果可以,请切换到Python 3。 Python 2支持将于明年结束。