python文本转换语音I
备课希望偷懒一下,看见有文本转换语音的小程序。
下手试了一下。
1、第一个:
#! /usr/bin/env python
# -*- coding: utf-8 -*-
import pyttsx ###使用了这个模块,安装pip install pyttsx
with open('read.txt', 'r') as f: ###可以自己打开文件读条
file_read=f.readlines()
engine=pyttsx.init()
engine.say(file_read)
engine.runAndWait()
实施以后发现,似乎可以读英语,但是回车键会报问题。
对于中文完全不灵的样子。
2、第二次修改
#! /usr/bin/env python
# -*- coding: utf-8 -*-
import sys
reload(sys)
sys.setdefaultencoding('utf8')
import pyttsx
engine=pyttsx.init()
engine.say("你好")
engine.runAndWait()
实施之后发现可以读中文的,那就是我文件打开方式不太对了。
3、第三次修改
#! /usr/bin/env python
# -*- coding: utf-8 -*-
import sys
reload(sys)
sys.setdefaultencoding('utf8')
import pyttsx
with open("read.txt",'r') as f:
fread=f.readline()
f=str(fread)
engine=pyttsx.init()
engine.say(f)
engine.runAndWait()
把文件里的信息转化成了字符,可以读中文了,但是第一段没问题,回车一换行就不行了。
4、第四次修改
#! /usr/bin/env python
# -*- coding: utf-8 -*-
import sys
reload(sys)
sys.setdefaultencoding('utf8')
import pyttsx
f=open("read.txt",'r')
fread=f.read() ###这里应该用f.read()而不是f.readline()这样就可以读出全文,还不管回车。
print(fread)
f=str(fread)
engine=pyttsx.init()
engine.say(f)
engine.runAndWait()
可以完整的打开文件并阅读。