专栏首页python3分享两个小程序

分享两个小程序

  小编也不知道大家能不能用的到,我只是把我学到的知识分享出来,有需要的可以看一下。python本身就是一个不断更新改进的语言,不存在抄袭,有需要就可以拿过来用,在用的过程中,你发现可以用另外一种方法把它实现,就可以把代码做进一步的优化,然后分享出来,这样python会变的越来越实用。今天心情不好,分享两个小程序就结束!

邮箱分类存储

 1 #! /usr/bin/env python
 2 # -*- coding: utf-8 -*-
 3 # __author__ = "Dylan"
 4 
 5 
 6 ''' 新建一个txt文件存储网络爬取的邮箱账号和密码,存储方式如下(具体问题具体分析,这里只是举个例子):
 7 data:
 8       账号                   密码
 9     laphae757878@163.com----198587
10     sgdjhgawue@126.com----198587
11     eiuuweyi34@qq.com----198587
12 res:
13     126.txt:
14         sgdjhgawue
15     163.txt:
16         laphae757878
17     qq.txt:
18         eiuuweyi34
19 '''
20 
21 
22 import os
23 import collections
24 
25 def work(path):
26     resPath = r"存放取出数据的路径"  # 如c:\python\res
27     with open(path, "r") as f:
28         while True:
29             lineInfo = f.readline()
30             if len(lineInfo) < 5:
31                 break
32             emailStr = lineInfo.split("----")[0]   # 邮箱@前的字段
33             fileType = emailStr.split("@")[1].split(".")[0]  # 邮箱类型的目录 如c:\python\res\163
34             dirStr = os.path.join(resPath, fileType)
35             if not os.path.exists(dirStr):
36                 os.mkdir(dirStr)  # 不存在,就创建这个目录
37             filePath = os.path.join(dirStr, fileType + ".txt") # 为每一个邮箱类型创建一个txt文件,然后把对应的邮箱写进去
38             with open(filePath, "w") as fw:
39                 fw.write(emailStr + "\n")
40 
41 def getAllDirQueue(path):
42     queue = collections.deque()
43     queue.append(path)
44     while len(queue) != 0:
45         dirPath = queue.popleft()
46         fileList = os.listdir(dirPath)
47         for fileName in fileList:
48             fileAbsPath = os.path.join(dirPath, fileName)
49             if os.path.isdir(fileAbsPath):
50                 queue.append(fileAbsPath)
51             else:
52                 work(fileAbsPath)  # 处理普通文件
53 
54 getAllDirQueue(r"数据路径")  # 如c:\python\data

语音控制系统打开或关闭系统应用程序

 1 from win32com.client import constants
 2 import win32com.client
 3 import pythoncom
 4 import os
 5 
 6 speaker = win32com.client.Dispatch("SAPI.SPVOICE")
 7 
 8 
 9 class SpeechRecognition:
10     def __init__(self,wordsToAdd):
11         self.speaker=win32com.client.Dispatch("SAPI.SpVoice")
12         self.listener=win32com.client.Dispatch("SAPI.SpSharedRecognizer")
13         self.context=self.listener.CreateRecoContext()
14         self.grammar=self.context.CreateGrammar()
15         self.grammar.DictationSetState(0)
16         self.wordsRule=self.grammar.Rules.Add("wordsRule",constants.SRATopLevel+constants.SRADynamic,0)
17         self.wordsRule.Clear()
18         [self.wordsRule.InitialState.AddWordTransition(None,word)for word in wordsToAdd]
19         self.grammar.Rules.Commit()
20         self.grammar.CmdSetRuleState("wordsRule",1)
21         self.grammar.Rules.Commit()
22         self.eventHandler=ContextEvents(self.context)
23         self.say("Startedsuccessfully")
24 
25     def say(self,phrase):
26         self.speaker.Speak(phrase)
27         
28 
29 class ContextEvents(win32com.client.getevents("SAPI.SpSharedRecoContext")):
30     def OnRecognition(self,StreamNumber,StreamPosition,RecognitionType,Result):
31         newResult=win32com.client.Dispatch(Result)
32         print("说:",newResult.PhraseInfo.GetText())
33         s = newResult.PhraseInfo.GetText()
34         if s == "记事本":
35             os.system("start notepad")
36         elif s == "画图板":
37             os.system("start mspaint")
38 
39 if __name__ == "__main__":
40     speaker.Speak("语音识别开启")
41     wordsToAdd = ["关机", "取消关机", "记事本", "画图板", "写字板", "设置", "关闭记事本"]
42     speechReco = SpeechRecognition(wordsToAdd)
43     while True:
44         pythoncom.PumpWaitingMessages()

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • python入门之一个简单记事本

    最近在练习一个关于python项目的列表,拿到列表看到这是要实现一个记事本功能,刚开始拿到题目真有点懵。虽然用python实现excel的处理已经很熟悉了,且已...

    用户2398817
  • python日志

    用户2398817
  • day23 03 组合的例子

    对象=类名()----实例化过程:创建了一个self对象,执行_init_方法初始化,返回self对象给外部

    用户2398817
  • 用python解析xml的几种方法

    4.开始部分:<?xml version="1.0" encoding="utf-8"?>

    用户2398817
  • 性能测试: Python3 利用asynico协程系统构建生产消费模型

    今天研究了下python3的新特性 asynico ,试了试 aiohttp 协程效果,单核QPS在500~600之间,性能还可以。

    机械视角
  • PyQt+SQLite构建一个简单的账号管理GUI程序

    相信有很多的测试同学,在日常的工作中都会需要去写一些辅助测试的小工具或者脚本,我们除了保证工具的可用性之外,有时还需要做一些图形界面上的开发以便在公司或者小组内...

    测试邦
  • python练习题-day22

    1.编写程序, 编写一个学生类, 要求有一个计数器的属性, 统计总共实例化了多少个学生

    郭耀华
  • python---贪吃蛇

    因为是简单的做一个贪吃蛇,并没有做其他的分数显示界面,以及结果的显示,具体效果就是运行程序后,出现上面的界面,然后只有你一动wasd的其中一个键,贪吃蛇便开始运...

    sjw1998
  • python练习题-day27

    1、写一个类,用来将浮点型值转换成金额。在本练习里,我们使用美国货币,但读者也可以自选任意货币。

    郭耀华
  • PyQT5 图片查看器

    由官方PyQt4 demo升级为PyQt5版本,原本只有缩放功能,现另加入打印和拖放功能。

    用户6021899

扫码关注云+社区

领取腾讯云代金券

玩转腾讯云 有奖征文活动