You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python开发智能时钟报时功能调用convert_to_audio报参数不匹配错误

报错原因与修复方案

核心错误点

  • 普通函数不需要加self参数:你定义的convert_to_audio是独立函数不是类的成员方法,self是类方法专属的第一个参数,属于多余定义
  • 参数数量不匹配:你调用函数时传入了3个字符串参数,但原函数定义只支持接收2个参数(包含没用的self),自然触发参数数量不匹配的TypeError
  • 额外隐藏bug:你保存音频用的文件名是Textaudio.mp3,调用播放时用的是textaudio.mp3,大小写不一致在Mac、Linux系统下会触发文件找不到的报错

修复后完整代码

from datetime import datetime
from gtts import gTTS
from playsound import playsound

now = datetime.now()
current_time = now.strftime("%H:%M:%S %p")
print("Current Time =", current_time)


def playaudio(audio):
    playsound(audio)

# 移除多余self,改用可变参数接收多段文本自动拼接
def convert_to_audio(*text_parts):
    # 把所有传入的文本片段拼接成完整的播报内容
    full_text = ' '.join(text_parts)
    audio = gTTS(full_text, lang='en')
    # 统一文件名大小写
    audio.save("textaudio.mp3")
    playaudio("textaudio.mp3")

convert_to_audio("Hello Ravi. Good Morning the time is", current_time, "Have a nice day")

可选优化提示

如果需要播报中文内容,把gTTS的lang参数改成lang='zh-cn'即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.18 21:15:04