分享兩個小程式

2022-07-18 02:18:15 字數 4418 閱讀 4286

小編也不知道大家能不能用的到,我只是把我學到的知識分享出來,有需要的可以看一下。python本身就是乙個不斷更新改進的語言,不存在抄襲,有需要就可以拿過來用,在用的過程中,你發現可以用另外一種方法把它實現,就可以把**做進一步的優化,然後分享出來,這樣python會變的越來越實用。今天心情不好,分享兩個小程式就結束!

郵箱分類儲存

1

#! /usr/bin/env python2#

-*- coding: utf-8 -*-3#

__author__ = "dylan"45

6'''

新建乙個txt檔案儲存網路爬取的郵箱賬號和密碼,儲存方式如下(具體問題具體分析,這裡只是舉個例子):

7data:

8賬號 密碼

[email protected]

[email protected]

[email protected]

12res:

13126.txt:

14sgdjhgawue

15163.txt:

16laphae757878

17qq.txt:

18eiuuweyi34

19'''

2021

22import

os23

import

collections

2425

defwork(path):

26 respath = r"

存放取出資料的路徑"#

如c:\python\res

27 with open(path, "r"

) as f:

28while

true:

29 lineinfo =f.readline()

30if len(lineinfo) < 5:

31break

32 emailstr = lineinfo.split("

----

")[0] #

郵箱@前的字段

33 filetype = emailstr.split("

@")[1].split("

.")[0] #

郵箱型別的目錄 如c:\python\res\163

34 dirstr =os.path.join(respath, filetype)

35if

notos.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"

)4041def

getalldirqueue(path):

42 queue =collections.deque()

4344

while len(queue) !=0:

45 dirpath =queue.popleft()

46 filelist =os.listdir(dirpath)

47for filename in

filelist:

48 fileabspath =os.path.join(dirpath, filename)

49if

os.path.isdir(fileabspath):

5051

else

:52 work(fileabspath) #

處理普通檔案

5354 getalldirqueue(r"

資料路徑

") #

如c:\python\data

語音控制系統開啟或關閉系統應用程式

1

from win32com.client import

constants

2import

win32com.client

3import

pythoncom

4importos5

6 speaker = win32com.client.dispatch("

sapi.spvoice")

789class

speechrecognition:

10def

__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()

15self.grammar.dictationsetstate(0)

16 self.wordsrule=self.grammar.rules.add("

wordsrule

",constants.sratoplevel+constants.sradynamic,0)

17self.wordsrule.clear()

18 [self.wordsrule.initialstate.addwordtransition(none,word)for word in

wordstoadd]

19self.grammar.rules.commit()

20 self.grammar.cmdsetrulestate("

wordsrule

",1)

21self.grammar.rules.commit()

22 self.eventhandler=contextevents(self.context)

23 self.say("

startedsuccessfully")

2425

defsay(self,phrase):

26self.speaker.speak(phrase)

2728

29class contextevents(win32com.client.getevents("

sapi.spsharedrecocontext

")):

30def

onrecognition(self,streamnumber,streamposition,recognitiontype,result):

31 newresult=win32com.client.dispatch(result)

32print("說:"

,newresult.phraseinfo.gettext())

33 s =newresult.phraseinfo.gettext()

34if s == "

記事本"

:35 os.system("

start notepad")

36elif s == "

畫圖板"

:37 os.system("

start mspaint")

3839

if__name__ == "

__main__":

40 speaker.speak("

語音識別開啟")

41 wordstoadd = ["

關機", "

取消關機

", "

記事本", "

畫圖板", "

寫字板", "

設定", "

關閉記事本"]

42 speechreco =speechrecognition(wordstoadd)

43while

true:

44 pythoncom.pumpwaitingmessages()

兩個彙編小程式

開發環境為emu8086!1 begin name run nian project to check if it s run nian.propmt macro ppt 定義輸出巨集 mov dx,offset ppt mov ah,09h int 21h endm stack segment d...

兩個小電路

第乙個是cmos與非門振盪電路 這個電路的原理其實是負反饋,b點反饋給a,因為a,b兩點的電壓相反所以是負反饋。又因為在a與e之間加了電容,所以是慢反饋,b和a如蹺蹺板兩端,在0與1之間來回跳變,那麼就會形成振盪,振盪頻率計算公式如下 第二個電路是電容降壓型穩壓電路 將交流市電轉換為低壓直流的常規方...

C 輸入輸出兩個小程式

來自 小甲魚c 快速入門 問題1 向使用者提出乙個 y n 問題,然後把使用者輸入的值賦給answer變數 include int main system pause std cout 輸入任何字元結束程式!n 獲取的回車字元,實現不了pause功能 std cin.ignore 100,n 清除緩...