(1) 在windows開始功能表執行IDLE(python 3.7 64bit)並按CTRL+N在PYTHON文字編輯器編寫如下程式碼並存為d:\readb.py 程式碼: key = input("請輸入無蝦米拆碼: ")
(1b)以上程式碼說明: (1b-1)自鍵盤取得輸入並記在key變數中 : key = input("請輸入無蝦米拆碼: ") (1b-2)匯入正則表示法程式庫模組 : import re (1b-3)以唯讀模式開啟以UTF8編碼的文字檔Boshiamy.cin並傳回檔案指標f: f = open("Boshiamy.cin",'r',encoding = 'utf-8') (1b-4)自檔案讀取一行文字並記在line變數中: line = f.readline() (1b-5)設定計數變數c的初值為0 : c=0 (1b-6) 當line有值則進行如下WHILE迴路範圍的重覆動作: while line: (1b-7)自自檔案讀取一行文字並記在line變數中: line = f.readline() (1b-8)用re.match函式比對line字串的開頭是否有剛輸入的key: re.M表示有支援^行首定位符號,re.I表示大、小寫字元被視為一致。 ROBJ = re.match( r'^%s'%key, line, re.M|re.I) (1b-9)假如ROBJ有值(表示有查到)則進行IF範圍的動作 if ROBJ: (1b-10)將計數變數c的值累加1 (1b-11)印出目前的c及line f.close()
(2)按F5儲存編寫的程式並執行:(資料檔Boshiamy.cin要和本程式檔擺在同一個目錄下) 請輸入無蝦米拆碼: LTK 請輸入無蝦米拆碼: okd 請輸入無蝦米拆碼: ehi (3)Boshiamy.cin文字檔截圖如下:(資料檔Boshiamy.cin要和readb.py程式檔擺在同一個目錄下) (4)參考: REF 1: Python FILE readline REF 2: Python Regular Expressions
|