Python pyttsx3实现点名模拟&pyttsx3使用中的小问题解决方案

    昨天没事干用百度语音调戏了一波室友,感觉很好玩,所以今天就想着模拟一下我们老师上课的点名系统(当然是渣渣版的啦)大致了解了一下后决定还是用大python吧,毕竟真的很省事。

话不多说看代码:

import pyttsx3
import time

engine = pyttsx3.init()
with open("name.txt","r") as f:
	fnamelist = f.readlines()

engine.say('二零一八枪毙名单点名开始')
engine.runAndWait()
time.sleep(1)

for S in fnamelist:
	engine.say(S)
	engine.runAndWait()
	time.sleep(1)

engine.say('点名完毕')
engine.runAndWait()
	

注意2018会读成“两千零一十八”所以这里写成“二零一八”。

name.txt为名册。

小问题及解决方案:

    1:很多人可能会在网上看教程讲的是pyttsx,这个我也安装了,不过会出现“no module named ‘engine’”这样的问题。而pyttsx3是可以直接用的(仅限于使用python3的,因为python2我没用过我也不清楚)。

    2:网上很多人的样例代码中都有这么两行

import sys
sys.setdefaultencoding('utf8')

然而python3默认utf-8在新版本的python中已经不支持setdefaultencoding函数了。所以不用写,否则会报错:

module 'sys' has no attribute 'setdefaultencoding'

另外reload()也是同上,在新版本中不再支持了。

   3:另外如果提示错误跟win32有关的话可以尝试下安装库pypiwin32

pip install pypiwin32

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 14
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值