小編也不知道大家能不能用的到,我只是把我學到的知識分享出來,有需要的可以看一下。python本身就是乙個不斷更新改進的語言,不存在抄襲,有需要就可以拿過來用,在用的過程中,你發現可以用另外一種方法把它實現,就可以把**做進一步的優化,然後分享出來,這樣python會變的越來越實用。今天心情不好,分享兩個小程式就結束!
郵箱分類儲存
1#! /usr/bin/env python2#
-*- coding: utf-8 -*-3#
__author__ = "dylan"45
6'''
新建乙個txt檔案儲存網路爬取的郵箱賬號和密碼,儲存方式如下(具體問題具體分析,這裡只是舉個例子):
7data:
8賬號 密碼
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
語音控制系統開啟或關閉系統應用程式
1from 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 清除緩...