【Python】translate包报错RuntimeError: generator raised StopIteration

博客指出使用Python的translate包翻译复杂语句时会报错,经测试发现是from_lang、to_lang两个参数设置问题,如中文用“Chinese”会报错,建议设置语言时尽量使用ZH、JA等缩写方式,每种语言缩写需摸索。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

根据网上有些教程,使用translate包翻译稍微复杂语句的时候,会报错RuntimeError: generator raised StopIteration

 实际测试之后发现,主要是from_lang、to_lang两个参数的设置有问题,比如有人说中文写"Chinese"、"ZH"都可以,但是实际使用的时候会发现,用"Chinese"这种就会报错:

tran=translate.Translator(from_lang="ZH",to_lang="JA")
#不报错


tran=translate.Translator(from_lang="Chinese",to_lang="Japanese")
#报错

实际测试:


import translate


try:
    tran=translate.Translator(from_lang="ZH",to_lang="JA")
    str=tran.translate("今天的天气怎么样")
    print(str)
except:
    print('报错')


try:
    tran_1=translate.Translator(from_lang="Chinese",to_lang="Japanese")
    str_1=tran_1.translate("今天的天气怎么样")
    print(str_1)
except:
    print('报错')

 运行结果:

所以,在设置语言的时候,尽量使用ZH、JA这种缩写方式,至于每种语言的缩写是什么,就需要慢慢摸索了 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值