【问题标题】:python wsgi pymorphy2 error iternalpython wsgi pymorphy2错误内部
【发布时间】:2017-02-17 16:27:10
【问题描述】:

尝试使用带有 wsgi 模块的 apache 返回 pymorphy2 的值​​并得到错误 500 日志说 TypeError: 字节字符串值的序列,需要 Parse 类型的值

我不知道该怎么办!在Python中我是菜鸟

我的python代码是

import pymorphy2
import cgi

morph = pymorphy2.MorphAnalyzer()
morphid = morph.parse(u'конь')

def app(environ, start_response):
    words = morphid

    start_response('200 OK', [('Content-Type', 'text/html')])
    return [words]

但在 shell 中它可以工作...... :(
请帮助我不明白我需要什么形式或类型的 var 词。

或许这一切都错了

在shell结果是

morph = pymorphy2.MorphAnalyzer()

words = morph.parse(u'конь')

打印“单词”

[Parse(word=u'\xf1\xf2\xe0\xeb\xe8', tag=OpencorporaTag('LATN'), normal_form=u'\xf1\xf2\xe0\xeb\xe8', score=1.0, methods_stack=((<LatinAnalyzer>, u'\xf1\xf2\xe0\xeb\xe8'),))]

谢谢大家!

【问题讨论】:

  • 尝试将type(morph.parse(u'конь'))打印到控制台

标签: python wsgi


【解决方案1】:

如您所见,您需要返回字节字符串序列,但您返回的是Parse 类型的字。如果您希望响应与您从控制台获得的内容完全相同,请尝试

words = str(morphid[0]).encode()

它将返回结果的字符串encoded(),因此可以用作响应。

【讨论】:

  • @parserbot 很高兴接受并投票回答:)
  • 感谢提示,但我是新来的,无法投票
猜你喜欢
  • 2015-11-15
  • 2016-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-14
  • 1970-01-01
  • 2015-12-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多