可能是因为文本是作为unipre输入的:
>>> def rot13(st):... import string... tab1 = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'... tab2 = 'nopqrstuvwxyzabcdefghijklmNOPQRSTUVWXYZABCDEFGHIJKLM'... tab = string.maketrans(tab1, tab2)... return st.translate(tab)... >>> rot13('test')'grfg'>>> rot13(u'test')Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<stdin>", line 6, in rot13TypeError: character mapping must return integer, None or unipre>>>
这个问题涵盖了您的需求:
- 如何获取str.translate以使用Unipre字符串?
如果您确定unipre字符串并不重要,我想您可以:
return str(st).translate(tab)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)