Skip to content

Commit

Permalink
1.3.13更新
Browse files Browse the repository at this point in the history
将tts引擎更换为pyttsx3,使中文姓名分词更加正常。
  • Loading branch information
Jack6811 authored Nov 23, 2020
1 parent 50fff01 commit 2194042
Showing 1 changed file with 39 additions and 21 deletions.
60 changes: 39 additions & 21 deletions name.py
Original file line number Diff line number Diff line change
@@ -1,32 +1,38 @@
import xlrd
import random
import tkinter as tk
import pygame
from time import strftime
import os
import win32com.client as win
#import win32com.client as win
import sys
import pyttsx3
import keyboard
from pykeyboard import *

#封装依赖
import decimal
decimal.__version__
#朗读
speak = win.Dispatch("SAPI.SpVoice")
# speak = win.Dispatch("SAPI.SpVoice")#windows朗读者
speak = pyttsx3.init()#离线库
rate = speak.getProperty('rate')
speak.setProperty('rate', rate-20)#离线库语速

#翻页笔兼容
k = PyKeyboard()
def enter():
k.tap_key(k.tab_key)#按Tab键
k.tap_key(k.space_key ,interval=1)
#print("执行成功")

#创建文件夹
# 去除首位空格
#path=path.strip()
# 去除尾部 \ 符号
#path=path.rstrip("\\")

# 判断路径是否存在
# 存在 True
# 不存在 False
isExists=os.path.exists("log")

# 判断结果
if not isExists:
# 如果不存在则创建目录
# 创建目录操作函数
os.makedirs("log")

#生成资源文件目录访问路径,即封装外部调用文件,见https://blog.csdn.net/weixin_34037977/article/details/86017938
def resource_path(relative_path):
if getattr(sys, 'frozen', False): #是否Bundle Resource
Expand All @@ -36,27 +42,32 @@ def resource_path(relative_path):
return os.path.join(base_path, relative_path)

#基础设定
workbook = xlrd.open_workbook("name.xls") # 读取表格
workbook = xlrd.open_workbook('name.xls') # 读取表格
Data_sheet = workbook.sheets()[0] # 读取sheet1
name_list = Data_sheet.col_values(0) # 读取第A列
data = set() # 一个空set保存选过的同学
#time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())

#更新日志
gengxin = open('更新日志.txt',mode='w+')
gengxin.writelines(['更新日志 1.2.6 2019年11月19日\n',' 1.修复字体差异,统一为宋体\n',' 2.将开始键调大,方便点击\n',' 3.添加更新日志\n','\n','\n'])
gengxin.writelines(['更新日志 1.3.4 2019年11月23日\n','1.更改图标\n','\n','\n'])
gengxin.writelines(['更新日志 1.3.7 2019年12月5日\n','1.添加日志功能\n','\n','\n'])
gengxin.writelines(['更新日志 1.3.10 2020年9月19日\n',' 1.添加语音提示\n',' 2.修复日志时间戳\n',' 3.修复了日志功能\n', ' 4.修正了窗口大小,使其可以进行全屏适配\n', ' 5.更新了图标\n',' 6.修复了一些已知bug\n''\n','\n'])
gengxin.writelines(['更新日志 1.3.7 2020年11月21日\n','1.更换tts引擎,更好的朗读效果\n','2.添加了翻页笔兼容,现在可以用翻页笔来下一个了。\n','\n','\n','\n'])
gengxin.close()

#创建日志
desktop_path = os.getcwd() + "\\log\\" # 新创建的txt文件的存放路径
full_path = desktop_path + "运行日志" + strftime('[%Y-%m-%d %H-%M-%S]') + '.log' # 也可以创建一个.doc的word文档
logger = open(full_path, 'a')
logger.writelines(["\n","\n","\n","\n","\n","\n","\n"])

#logger = './log/'+ "运行日志" + strftime('[%Y-%m-%d %H:%M:%S]') +".log"
#log = open(logger ,mode='a')


root = tk.Tk()
root.title("随机点名 V1.3.10")
root.title("随机点名 V1.3.13")
#URL可视化图标
ico = resource_path('icon/die.ico') #导入图标
root.iconbitmap(ico)
Expand All @@ -75,21 +86,28 @@ def start():
if on_strat==False:
name_list.remove(rdata)
print(strftime('[%Y-%m-%d %H:%M:%S]') +" "+rdata) #打印日志
#os.mknod('.//log//'+ time + ".log")
#时间设定
#log = open("运行日志.log",mode='a')
logger = open(full_path, 'a')
logger.writelines(strftime('[%Y-%m-%d %H:%M:%S]') +":"+" "+rdata+"\n")
speak.Speak(rdata)
speak.say(rdata)
speak.runAndWait()
if rdata not in data:
var.set(rdata)
data.add(rdata)
if len(name_list)==0:
var.set("所有同学已经点过")
speak.Speak("所有同学已经点过")
speak.say("所有同学已经点过")
speak.runAndWait()
except ValueError as e:
var.set("所有同学已经点过")
speak.Speak("所有同学已经点过")
B = tk.Button(root, font=('simsun', 30), width=10, height=1, text="开始", command=start)
speak.say("所有同学已经点过")
speak.runAndWait()
B = tk.Button(root, font=('simsun', 30), width=10, height=1, text="开始", command=start, repeatdelay=5000, takefocus=True)#https://blog.csdn.net/qq_41556318/article/details/85080617
B.pack()
if __name__ == '__main__':
keyboard.add_hotkey("down",enter)
keyboard.add_hotkey("right",enter)

root.mainloop()
speak.Speak(start)

0 comments on commit 2194042

Please sign in to comment.