【问题标题】:translate() missing 1 required positional argument: 'text'使用 googletrans (Python) 翻译推文
【发布时间】:2018-08-27 13:15:39
【问题描述】:

我想将一条印尼语推文翻译成英文,所以在我收到一条推文后,我运行以下代码:

from googletrans import Translator

tweet = tweet.text # This saves the twitter text
tw_inggris = Translator.translate(tweet, src='id', dest='en')

但我得到了这个特定的错误:

TypeError: translate() 缺少 1 个必需的位置参数:'text'

大家都知道是什么错误,我该如何解决?

【问题讨论】:

    标签: python google-translate translate


    【解决方案1】:

    这是因为您直接使用Translator 类,而不是先创建实例。直接在类上调用.translate() 函数会将第一个参数视为self,将第二个参数视为text(因此出现错误)。所以你需要做这样的事情:

    from googletrans import Translator
    
    tweet = tweet.text
    translator = Translator()
    tw_inggris = translator.translate(tweet, src='id', dest='en')
    

    或单次使用,您可以这样做:

    Translator().translate(tweet.text, src='ar', dest='en')
    

    【讨论】:

    • 我已经试过了,但是一直显示错误为:raise JSONDecodeError("Expecting value", s, err.value) from None JSONDecodeError: Expecting value
    • @Berlian 那么这是一个不同的问题,但我提到的方式是正确的方式。现在与您的第二个错误有关,tweet.text 的类型是什么?是str吗?
    • 哦,我明白了,我只需要先对我的推文进行编码。感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-17
    • 1970-01-01
    • 2020-08-19
    • 1970-01-01
    • 1970-01-01
    • 2021-08-03
    相关资源
    最近更新 更多