不知道自己运行到第几个循环了,使用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()
总结
有了这几个库,就可以轻松实现随时检查程序运转进度和后台运行程序啦!摸鱼,冲!



