2021-02-08

项目场景:

利用pyttsx3读取文本文件内容出现编码问题

问题描述:

UnicodeDecodeError: ‘gbk’ codec can’t decode byte 0x80 in position 10: illeg

原因分析:

gbk编码问题

解决方案:

way1:第1行没有设置

# _*_ coding:utf-8 _*_

way2:处理数据时没有转码,需要在open函数里面加上encoding=‘UTF-8’,例如:
原始代码:

with open("read.txt", "r") as f:  # 打开需要读取的文件

修改后代码:

with open("read.txt", "r",encoding='UTF-8') as f:  # 打开需要读取的文件

具体请见:https://blog.csdn.net/xxzhangx/article/details/74065578

完整代码:

最后附上利用pyttsx3读取文本文件内容的完整代码:

import pyttsx3
#注意:python读文件会遇到编码问题UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 10: illeg,此时有两种办法解决,具体请见https://blog.csdn.net/xxzhangx/article/details/74065578
with open("read.txt", "r",encoding='UTF-8') as f:  # 打开需要读取的文件
     data = f.read()  # 读取文件
     print(data)
voice=pyttsx3.init()
voice.say(data)
voice.runAndWait()

如果运行成功会朗读文件内容并在控制台显示,结果如下:

C:\Users\86157\PycharmProjects\pythonProject\venv\Scripts\python.exe C:/Users/86157/PycharmProjects/pythonProject/train/pyttsx3朗读文本文件.py
卷一
  天功第一  天道变化,消长万汇,契地之力,乃有成尔。天贵而地贱,天动而地静,贵者运机而贱者效力。上有其动,而下行其地矣。是以知天之施地匪专也,知地之应天有常也。生机动则应之以生,气机动则应之以气。机正则泰,机乱则否。万物列形而否泰交著,见之于地焉,岂止地之为乎?盖天道内而地道外者也。王者,天也;将,地也。将者,天也;士卒,地也。我,天也;敌,地也。由此观其所动,故负胜可知矣。王之於将也,阃外之寄,择贤授柄,举无所疑。将必内应其正,外务其顺。应以正则师律严,务以顺则臣节贞。举而御敌,讵有舆尸之患乎?君恃智以自用,倨礼而傲下,授柄匪人,任人不信,将不正应,内包犹豫之惑,外丧驭众之威矣。举而御敌,宁免失律之凶乎?师之成败见之於将焉,岂将之为乎?将之为任也,智敌万人,苟无万人之用,与愚者同矣;勇冠三军,苟无三军之用,与懦者同矣。善为将者正而能变,刚而能恤,仁而能断,勇而能详,以策驭吏士,未有不振拔勋业,以戡祸乱者也。反是,则吏士外无攻,内多离散之势。勇怯见之吏士焉,岂吏士之为乎?我之於敌也,夫功拔战胜,使敌不敢抗衡者,岂敌怯乎?由我威令整,进退肃,赏罚明也。覆兵杀将,弱国削地者,岂敌强威乎?由我不严师律故也。夫如是,亦自上而及下,自内而迨外,其犹天地之用乎。故天必藉地力,然后运四气,正生杀也;贵必藉贱力,然后能立元功而建王业也。 

Process finished with exit code -1
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值