栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Doctest由于Unicode导致失败

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Doctest由于Unicode导致失败

Python 3对Unipre对象使用不同的字符串文字。没有

u
前缀(在规范表示中),并且一些非字母字符按字面显示,例如,
'só'
在Python
3中是Unipre字符串(如果在输出中看到它,则在Python 2中是字节字符串)。

如果您只想知道函数是如何将输入文本拆分为标记的;您可以在单独的行上打印每个令牌,以使结果与Python 2/3兼容:

print("n".join(tokenizer.tokenize(s0)))Thisisatokenizedsentencesó

或者,您可以自定义

doctest.OutputChecker
,例如:

#!/usr/bin/env pythonr""">>> u"This is a tokenized sentence su00f3".split()[u'This', u'is', u'a', u'tokenized', u'sentence', u'sxf3']"""import doctestimport reimport sysclass Py23DocChecker(doctest.OutputChecker):    def check_output(self, want, got, optionflags):        if sys.version_info[0] > 2: want = re.sub("u'(.*?)'", "'\1'", want) want = re.sub('u"(.*?)"', '"\1"', want)        return doctest.OutputChecker.check_output(self, want, got, optionflags)if __name__ == "__main__":    import unittest    suite = doctest.DocTestSuite(sys.modules['__main__'], checker=Py23DocChecker())    sys.exit(len(unittest.TextTestRunner().run(suite).failures))


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/669567.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号