Python GTTS 错误:AttributeError:“NoneType”对象没有属性“group”

2024-04-24

我有一个项目正在进行文本到语音转换。我的音频文件被存储为 mp3。

但现在,当我检查 Gtts api 时抛出错误。我尝试搜索但找不到该错误的可行解决方案。

我的代码如下:

def synth(sent,language='en',slow = False):
    """
    Synthesize text into audio
    """  
    os.system('clear')
    print("Speaker Output:" + sent)
    gt_ob = gTTS(text=sent, lang=language, slow=slow)
    file_name = hashlib.md5(sent.encode('utf-8')).hexdigest()
    print("File Name " + file_name)
    gt_ob.save("media/audio.mp3")
    print("Till here")
    os.system("ffmpeg -nostats -loglevel 0 -y -i media/audio.mp3 -ar 16000 media/"+ file_name + ".wav")

if __name__ == "__main__":
    synth("good morning","en")

我收到的错误消息是:

File "file_name.py", line 30, in <module>
synth("good morning","en")
  File "file_name.py", line 25, in synth
    gt_ob.save("media/audio.mp3")
  File "/home/arqam/anaconda3/lib/python3.6/site-packages/gtts/tts.py", line 247, in save
    self.write_to_fp(f)
  File "/home/arqam/anaconda3/lib/python3.6/site-packages/gtts/tts.py", line 187, in write_to_fp
    part_tk = self.token.calculate_token(part)
  File "/home/arqam/anaconda3/lib/python3.6/site-packages/gtts_token/gtts_token.py", line 28, in calculate_token
    seed = self._get_token_key()
  File "/home/arqam/anaconda3/lib/python3.6/site-packages/gtts_token/gtts_token.py", line 62, in _get_token_key
    a = re.search("a\\\\x3d(-?\d+);", tkk_expr).group(1)
AttributeError: 'NoneType' object has no attribute 'group'

那么我们该如何解决这个出现的bug呢?


现在官方已经修复了。它与上游依赖有关gtts, gtts-token。它已被修复在gtts-token==1.1.2

我全新安装了两者后问题得到解决gtts and gtts-token。现在它正在发挥作用。感谢开源大神和@carrey-cole

Link: https://github.com/pndurette/gTTS/issues/137 https://github.com/pndurette/gTTS/issues/137

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python GTTS 错误:AttributeError:“NoneType”对象没有属性“group” 的相关文章

  • 阻止 TensorFlow 访问 GPU? [复制]

    这个问题在这里已经有答案了 有没有一种方法可以纯粹在CPU上运行TensorFlow 我机器上的所有内存都被运行 TensorFlow 的单独进程占用 我尝试将 per process memory fraction 设置为 0 但未成功
  • 从 Django 调用 Postgres SQL 存储过程

    我正在开发一个带有 Postgresql 数据库的 Django 项目 我编写了一个可以在 Postgres 上完美运行的存储过程 现在我想从 Django 1 5 调用该存储过程 我已经编写了代码 但它提示错误 CREATE FUNCTI
  • 上传时的 Google Drive API——这些额外的空行从何而来?

    总结一下该程序 我从我的 Google 云端硬盘下载一个文件 然后在本地计算机中打开并读取一个文件 file a txt 然后在我的计算机中打开另一个文件 file b txt 处于附加模式 并且在使用这个新的 file b 更新我的 Go
  • 将 transaction.commit_manually() 升级到 Django > 1.6

    我继承了为 Django 1 4 编写的应用程序的一些代码 我们需要更新代码库以使用 Django 1 7 并最终更新到 1 8 作为下一个长期支持版本 在一些地方它使用旧风格 transaction commit manually and
  • NumPy linalg.eig

    我有这个烦人的问题 但我还没有弄清楚 我有一个矩阵 我想找到特征向量 所以我写 val vec np linalg eig mymatrix 然后我得到了 vec 我的问题是 当我小组中的其他人对相同的矩阵 mymatrix 做同样的事情时
  • 从sklearn PCA获取特征值和向量

    如何获取 PCA 应用程序的特征值和特征向量 from sklearn decomposition import PCA clf PCA 0 98 whiten True converse 98 variance X train clf f
  • 无故运行测试时 PyCharm 抛出“AttributeError: 'module' object has no attribute”

    因此 我有一个 Django REST Framework 项目 有一天它无法在 PyCharm 中运行测试 从命令行我可以使用它们来运行它们paver or the manage py直接地 曾经有一段时间 当我们没有在文件顶部导入类的超
  • “一旦获取切片就无法更新查询”。最佳实践?

    由于我的项目的性质 我发现自己不断地从查询集中取出切片 如下所示 Thread objects filter board requested board id order by updatedate 10 但这给我带来了实际对我选择的元素进
  • 如何使用 Bokeh 动态隐藏字形和图例项

    我正在尝试在散景中实现复选框 其中每个复选框应显示 隐藏与其关联的行 我知道可以通过图例来实现这一点 但我希望这种效果同时在两个图中发生 此外 图例也应该更新 在下面的示例中 出现了复选框 但不执行任何操作 我显然不明白如何更新用作源的数据
  • GradientTape 根据损失函数是否被 tf.function 修饰给出不同的梯度

    我发现计算的梯度取决于 tf function 装饰器的相互作用 如下所示 首先 我为二元分类创建一些合成数据 tf random set seed 42 np random seed 42 x tf random normal 2 1 y
  • 使用 Conda 更新特定模块会删除大量软件包

    我最近开始使用 Anaconda Python 发行版 因为它提供了许多开箱即用的数据分析库 使用 conda 创建环境和安装软件包也轻而易举 但是当我想更新 Python 本身或任何其他模块时 我遇到了一些严重的问题 我事先被告知我的很多
  • 在 Spyder 的变量资源管理器中查看局部变量

    我是 python 新手 正在使用 Spyder 的 IDE 我欣赏它的一项功能是它的变量资源管理器 然而 根据一些研究 我发现它只显示全局变量 我找到的解决方法是使用检查模块 import inspect local vars def m
  • 从 python 检测 macOS 中的暗模式

    我正在编写一个 PyQt 应用程序 我必须添加一个补丁 以便在启用暗模式的 Macos 上可以读取字体 app QApplication Fix for the font colours on macos when running dark
  • Flask 应用程序的测试覆盖率不起作用

    您好 想在终端的 Flask 应用程序中测试 删除路由 我可以看到测试已经过去 它说 test user delete test app LayoutTestCase ok 但是当我打开封面时 它仍然是红色的 这意味着没有覆盖它 请有人向我
  • 带有 RotatingFileHandler 的 Python 3 记录器超出 maxBytes 限制

    我使用以下代码来限制日志文件的大小 最小示例 import logging from logging handlers import RotatingFileHandler Set up logfile and message loggin
  • 字符串列表,获取n个元素的公共子串,Python

    我的问题可能类似于this https stackoverflow com questions 37514193 count the number of occurrences of n length not given string in
  • bs4 `next_sibling` VS `find_next_sibling`

    我在使用时遇到困难next sibling 并且类似地与next element 如果用作属性 我不会得到任何返回 但如果用作find next sibling or find next 然后就可以了 来自doc https www cru
  • 通过 Web 界面执行 python 单元测试

    是否可以通过 Web 界面执行单元测试 如果可以 如何执行 EDIT 现在我想要结果 对于测试 我希望它们是自动化的 可能每次我对代码进行更改时 抱歉我忘了说得更清楚 EDIT 这个答案此时已经过时了 Use Jenkins https j
  • 如何使用Python保存“完整的网页”而不仅仅是基本的html

    我正在使用以下代码来使用 Python 保存网页 import urllib import sys from bs4 import BeautifulSoup url http www vodafone de privat tarife r
  • tkinter:打开一个带有按钮提示的新窗口[关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 用户如何按下 tkinter GUI 中的按钮来打开新窗口 我只需要非常简单的解决方案 如果代码也能被解释那就太好了 这

随机推荐

  • 如何在 Python 中生成唯一随机浮点列表

    我知道有一些简单的方法可以生成唯一随机整数的列表 例如random sample range 1 100 10 我想知道除了编写一个像范围一样但接受这样的浮点数的函数之外 是否有更好的方法来生成唯一随机浮点数的列表 import rando
  • CREATE命令被拒绝给用户?

    show grants for charm localhost Grants for charm localhost GRANT USAGE ON TO charm localhost IDENTIFIED BY PASSWORD E
  • 在 Go 中设置引用

    如何通过引用传递接口并让方法为我填充它 像这样的东西 var i CustomInterface Get title ref i i SomeOperationWithoutTypeAssertion i is nil here my pr
  • 如何从 PHP 中的 json 响应中按键提取值 [重复]

    这个问题在这里已经有答案了 我正在使用 getResponse api 来获取订阅者的最新信息 这是之后打印的内容var dump result object stdClass 2 1 updated gt int 1 我如何提取 解码 编
  • 在 bash 中使用正则表达式从字符串中提取信息

    我在 bash 中有一个字符串变量 如下所示 SOGoTimeFormat H M SOGoMailShowSubscribedFoldersOnly 0 SOGoMailSignaturePlacement below SOGoLangu
  • Swift Struct 不符合 Equatable 协议?

    如何使结构符合 Equatable 协议 我正在使用 Xcode 7 3 1 struct MyStruct var id Int var value String init id Int value String self id id s
  • 列出可用于 gstreamer 1.0 中 ksvideosrc 视频捕获的设备名称

    我正在尝试使用 c 中的 gstreamer 1 0 查询 Windows 上可用视频捕获设备 网络摄像头 的列表 我使用 ksvideosrc 作为源 我能够捕获视频输入 但我无法查询可用设备 及其上限 的列表 在 gstreamer 0
  • 如何在静态方法或自定义类中注入HttpClient?

    我想使用角度HttpClient在静态方法或类中 在类中不能将其定义为构造函数参数 我尝试过类似的东西 export class SomeNotInjectableService static doSomething const injec
  • Ruby on Rails 3:link_创建新的嵌套资源?

    我试图在 Rails 3 应用程序中创建一个链接来创建新的嵌套资源 但我无法弄清楚 链接到新嵌套资源的语法是什么 解决方案 确保您的资源正确嵌套在您的路由文件中 resources books do resources chapters e
  • Amazon S3:授予来自 IP 的匿名访问权限(通过存储桶策略)

    我有一个 Amazon S3 存储桶 并且希望将其可供特定计算机上的脚本使用 而无需部署登录凭证 所以我的计划是只允许从该机器的 IP 进行匿名访问 我对亚马逊云还很陌生 存储桶策略看起来是不错的选择 我将以下策略添加到我的存储桶中 Ver
  • 如何解决“允许的最大密钥长度为 900 字节”。

    我有以下表结构 CREATE TABLE dbo Signature caption id nvarchar 512 NOT NULL signature id int NOT NULL 我想使用以下 alter 命令添加主键 ALTER
  • C# 中 System.String[*] 和 System.String[] 的区别

    Edit 我知道 C 相当于For Each server As String In servers is foreach var item in servers 但是由于GetOPCServers返回对象 应该将其转换为可迭代类型 我正在
  • 页面抓取以从谷歌财经获取价格

    我试图通过抓取谷歌金融页面来获取股票价格 我在 python 中使用 urllib 包 然后使用正则表达式来获取价格数据 当我让 python 脚本运行时 它最初会运行一段时间 几分钟 然后开始抛出异常 HTTP 错误 503 服务不可用
  • 如何设置“如果对象存在”条件?

    有没有办法检查对象是否存在 我不断收到 需要对象 错误 我知道该对象不存在 如果是这种情况 我想绕过我的代码的一部分 我不知道什么是我没有尝试过的 var codeName document getElementById testCode
  • 如何阻塞直到BlockingQueue为空?

    我正在寻找一种方法来阻止直到BlockingQueue是空的 我知道 在多线程环境下 只要有生产者将物品放入BlockingQueue 可能会出现队列变空 几纳秒后又充满项目的情况 但是 如果只有one生产者 那么它可能希望在停止将项目放入
  • 为 iPhone 或 Android 开发? (作为 C# 开发人员)[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何使用 R 提取包含特定人名的句子

    我正在使用 R 来提取包含特定人名的句子来自文本 这是一个示例段落 在蒂宾根 他作为改革家遭到反对 但在他的叔公约翰 罗伊克林的推荐下 他接受了马丁 路德的召唤 进入维滕贝格大学 梅兰希顿 21 岁时成为维滕贝格的希腊语教授 他研究圣经 尤
  • 根据 Python Pandas 中的描述场景和状态过滤产品

    假设我在 Pandas DataFrame 中有以下产品描述 我想保留满足以下条件的产品的所有产品描述 对于每一个id in product descriptions 检查是否包含全部descriptions从 至少 1 个场景scenar
  • DocumentDB IN 关键字与 Linq

    您现在可以使用 DocumentDB 创建 IN 查询 如下所示 SELECT FROM Families WHERE Families id IN AndersenFamily WakefieldFamily 但如果我使用 Linq 运行
  • Python GTTS 错误:AttributeError:“NoneType”对象没有属性“group”

    我有一个项目正在进行文本到语音转换 我的音频文件被存储为 mp3 但现在 当我检查 Gtts api 时抛出错误 我尝试搜索但找不到该错误的可行解决方案 我的代码如下 def synth sent language en slow Fals