记录最近使用的几段好用的小代码:进度条,语音播报(摸鱼神器)

进度条

不知道自己运行到第几个循环了,使用print显示每次循环的结束还是不直观。
使用python库tqdm解决这几个小问题。

对于一个循环

from tqdm import tqdm
import time

for i in range(100):
	time.sleep(0.5)
	#or do something
    print(i)

循环结束输出了0-99,既不美观也不容易及时查询

使用tqdm包

配合time 库每0.5秒输出一次

from tqdm import tqdm
import time

for i in tqdm(range(100)):
    time.sleep(0.5)
    #or do something

可以直观的显示循环到第几次,如下图两者对比

进度条
循环次数取决于for i in tqdm(list):中的list。

没有使用过该库的

pip install tqdm

语音播报

这个真的是神器,程序完成的时候有一声提示,能节省很多时间

方法很多种,记录我觉得最好用的两种:os库的应用以及pyttsx3库的应用。

os 用法

os就是“operating system”的缩写,顾名思义,os模块提供的就是各种 Python 程序与操作系统进行交互的接口。通过使用os模块,一方面可以方便地与操作系统进行交互,另一方面页可以极大增强代码的可移植性。

import os

os.system('say "anything you want to say"')
os.system('say "任何你想说的"')

简单便捷,中英文皆可,其他语言没有试过。

pyttsx3用法

python 文字转语音库,支持电脑系统中的语音包,可以调节语速、语调等。

安装

pip install pyttsx3

这个库内容比较多需要的时间比较久

直接调用

import pyttsx3

pyttsx3.speak("任何你想说的")
pyttsx3.speak("anything you want to say")

直接调用时可以自动识别你使用的语言

修改参数

初始化
import pyttsx3

engine = pyttsx3.init() #初始化语音引擎

修改语音语速与音量

默认语速200,默认音量1

engine.setProperty('rate', 200)   #设置语速
engine.setProperty('volume',1)  #设置音量
修改语言

根据电脑操作系统会有不同的语音包,因此首先需要判断系统支持哪一些语音

voices = engine.getProperty('voices')
for voice in voices:
    print(voice)      #####  输出系统的语音包信息
输出结果

在我使用的mac中,输出结果的格式如下,该语音包为中文语音包,其中:
voice id 为语音包代码,name为录制者的人名,language为语音包的语言,gender为录制者的性别,最后age为录制者的年龄。

在输出了这些参数后可以根据个人喜好选择语音包。

大陆语音包
在确认自己电脑具有的语音包后,我标注了其中的中文包,mac中包括:

zh_1 = 'com.apple.speech.synthesis.voice.tingting.premium'   #### 大陆 zh_CN
zh_2 = 'com.apple.speech.synthesis.voice.sinji'   #### 香港(粤语)zh_HK
zh_3 = 'com.apple.speech.synthesis.voice.meijia'  #### 台湾zh_TW

那么在使用时

engine.setProperty('voice', zh_3)#### 选择语音包

设置好音量语速以及语音包后,使用

engine.say("任何你想说的")
engine.runAndWait()
engine.stop()

那么完整代码如下:

import pyttsx3

#语音包id

zh_1 = 'com.apple.speech.synthesis.voice.tingting.premium'   #### 大陆 zh_CN
zh_2 = 'com.apple.speech.synthesis.voice.sinji'   #### 香港(粤语)zh_HK
zh_3 = 'com.apple.speech.synthesis.voice.meijia'  #### 台湾zh_TW

#### 开始设置
engine = pyttsx3.init() #初始化语音引擎
voices = engine.getProperty('voices')
for voice in voices:
    print(voice)      #####  输出系统的语音包信息

engine.setProperty('voice', zh_3)#### 选择语音包

engine.setProperty('rate', 200)   #设置语速
engine.setProperty('volume',1)  #设置音量
engine.say("您的程序计算第一组完成")
engine.runAndWait()
engine.stop()

总结

有了这几个库,就可以轻松实现随时检查程序运转进度和后台运行程序啦!摸鱼,冲!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值