【问题标题】:google translate library is printing <googletrans.models.Translated at 0x1eaf9bfd198> instead of text谷歌翻译库正在打印 <googletrans.models.Translated at 0x1eaf9bfd198> 而不是文本
【发布时间】:2019-07-31 03:22:03
【问题描述】:

我使用谷歌翻译库来转换语言,它运行正常,但在输出中它没有显示语言的名称,它显示了一些代码。

from googletrans import Translator
translator = Translator()
translator.translate('안녕하세요.')

<googletrans.models.Translated at 0x1eaf9bfd198>

【问题讨论】:

  • 这是对象的默认表示。它将包含结果。查看有关如何从中获取所需信息的文档。

标签: python translation google-translate


【解决方案1】:

只需使用text 属性即可查看翻译后的文本。

>>> from googletrans import Translator
>>> translator = Translator()
>>> result = translator.translate('안녕하세요.')
>>> result.text
'Hi.'

要查看目标语言和源语言,请使用 destsrc 属性。

>>> result.src
'ko'
>>> result.dest
'en'

似乎googletrans.models.Translated 没有覆盖__repr__ 函数,因此显示了默认值(显示其在内存中的地址)。 docs 表示它应该显示字段,但对我来说它没有。所以文档要么太旧要么太新。

如果您想查看可用的内容,可以使用 dir 内省 Translated 对象的属性。查看两端没有双下划线的属性。

>>> dir(result)
['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__unicode__', '__weakref__', 'dest', 'extra_data', 'origin', 'pronunciation', 'src', 'text']

【讨论】:

    【解决方案2】:

    替换

    translator.translate('안녕하세요.')
    

    translator.detect('안녕하세요.').lang
    

    【讨论】:

      【解决方案3】:

      我也遇到过这个问题。

      只需将任意变量赋值给函数translator.translate,如:

      k = translator.translate('안녕하세요.')
      

      并仅打印 k。这对我有用。你也可以试试看。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-03-13
        • 1970-01-01
        • 2022-01-02
        • 1970-01-01
        • 2019-05-20
        • 1970-01-01
        • 1970-01-01
        • 2012-01-03
        相关资源
        最近更新 更多