You need to enable JavaScript to run this app. Python开发TXT自动翻译工具触发NoneType AttributeError如何解决
优惠活动
大模型
产品
解决方案
定价
更多

Python开发TXT自动翻译工具触发NoneType AttributeError如何解决

报错原因

该错误是googletrans官方稳定版长期未更新导致的接口兼容性问题:目前官方发布的3.0.0稳定版依赖的谷歌翻译接口响应格式已经发生变更,库内置的正则匹配规则无法从新的响应结构中提取到对应参数,导致匹配结果返回None,后续代码尝试调用None的group方法时就触发了该报错。

解决方法

优先使用第一种方案,操作最简单兼容性最好:

方案1:更换为修复版依赖包

官方发布的4.0.0预发布版本已经适配了新的接口格式,直接替换安装即可:

  • 卸载旧版本稳定包:pip uninstall googletrans
  • 安装修复版本:pip install googletrans==4.0.0-rc1
    安装完成后直接运行原有代码即可正常执行翻译逻辑。

方案2:手动修改库源码(不推荐)

如果不方便更换依赖版本,可以找到本地googletrans安装目录下的client.py文件,定位到匹配接口参数的正则行,将原有匹配规则替换为适配新接口的正则规则即可,该方案仅作为临时应急使用,后续依赖更新后会失效,不建议长期使用。

代码优化建议

原代码中读取文件没有显式关闭,且未指定编码格式,容易出现文件句柄泄漏、不同系统下乱码的问题,可调整为以下写法:

import re
import googletrans
from googletrans import Translator

file_translator = Translator()

# 改用上下文管理器读取文件,自动处理文件关闭逻辑
with open('demo.txt', 'r', encoding='utf-8') as tFile:
    content = tFile.read()
    print(content)

result = file_translator.translate(content, dest='fr')

with open('output.txt', 'w', encoding='utf-8') as outFile:
    outFile.write(result.text)

内容的提问来源于stack exchange,提问作者DaLegacy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.12 18:03:02