基于Python自帶的GUI工具包Tkinter來實現(xiàn)窗口視窗設(shè)計。選用Python語言的理由在于其語法簡單,跨平臺、內(nèi)嵌大量模塊,支持眾多第三方包,大大降低了編程的難度,同時Python語言最為接近人類語言,近年來受到越來越多的人員,尤其是非計算機專業(yè)但有編程需求的人士,特別是文科研究者的青睞。
該應(yīng)用的目的是讓學(xué)習(xí)者在一個應(yīng)用(不需要頻繁切換應(yīng)用程序)里完成一鍵查詢單詞搭配,進(jìn)而建立不打擾學(xué)習(xí)者寫作的環(huán)境,因此該應(yīng)用包括兩個區(qū)域:文字編輯區(qū)和搭配查詢結(jié)果顯示區(qū),如圖1所示。
具體用戶操作路徑為用戶在文字編輯區(qū)輸入寫作內(nèi)容,當(dāng)需要查找某單詞的搭配時,用戶只需在輸入完該單詞后,按下觸發(fā)鍵(本應(yīng)用定義為shift鍵),該應(yīng)用就會去在線詞匯搭配網(wǎng)站,獲取該單詞的相關(guān)HTML信息,然后通過正則表達(dá)式截取只與搭配相關(guān)的信息,并進(jìn)行頁面呈現(xiàn)調(diào)整,最后在該應(yīng)用的查詢結(jié)果顯示區(qū)呈現(xiàn)。例如,在圖1中,用戶在文本區(qū)進(jìn)行寫作練習(xí),想要知道comment的搭配,只需在輸入comment之后,按下鍵盤shift鍵,之后右側(cè)的查詢結(jié)果框就會顯示來自在線搭配網(wǎng)站上關(guān)于comment各種搭配信息。
代碼實現(xiàn)路徑:
1)獲取網(wǎng)頁信息
使用Python內(nèi)置庫Urllib相關(guān)模塊,從目標(biāo)網(wǎng)站(https://www.freecollocation.com)獲取檢索詞的網(wǎng)頁。如果沒有找到檢索詞的搭配,網(wǎng)頁顯示“Cannotfind檢索詞inthecollocationdictionary”,則返回1,再做后續(xù)處理。如果找到檢索詞,則保存該網(wǎng)頁信息。
2)選取相關(guān)信息
通過分析網(wǎng)頁特征,可以看出和搭配相關(guān)的信息,都儲存在多個
標(biāo)簽里面。搭配詞的詞性放在標(biāo)簽里,搭配詞放在標(biāo)簽里,例句放在標(biāo)簽里。先用BeautifulSoup對該網(wǎng)頁進(jìn)行整理,然后使用標(biāo)簽提取相關(guān)內(nèi)容,并且存到字符串中,以便下一步呈現(xiàn)。
3)Tkinter窗口試圖設(shè)計
為了方便用戶寫作和查看搭配詞互不干擾或在寫作時不用切換屏幕查看搭配詞,窗口設(shè)計為兩個滾動文本框(ScrolledText),左側(cè)的為編輯區(qū)(EditPad),右側(cè)為搭配結(jié)果顯示區(qū)(Collocates)??紤]到用戶看到兩個文本框,不知在哪個框里輸入,除了給出2個標(biāo)簽提示不同的區(qū)域外,還需把搭配結(jié)果顯示區(qū)屬性設(shè)置為不可編輯,避免用戶誤操作。下方設(shè)計保存(Save)和退出(Quit)兩個按鈕,功能分別為保存用戶輸入的數(shù)據(jù)和退出該應(yīng)用。
4)一鍵綁定
以往文字編輯應(yīng)用中,如果想要查找某個單詞的相關(guān)信息,需要選中該單詞,然后單擊右鍵,選擇相關(guān)的選項,過程較為煩瑣。一鍵綁定是該應(yīng)用的創(chuàng)新之處,是指當(dāng)用戶在編輯區(qū)輸入文本的時候,如果想檢索某單詞的同義詞時,只需要在輸入該單詞之后,再按下shift鍵,即可執(zhí)行相關(guān)檢索功能。這樣一來,省去了大量的操作時間,讓用戶可以更快速地獲得檢索結(jié)果,獲得更為及時的搭配詞反饋。
實現(xiàn)的基本原理是把用戶所有的輸入信息存儲為一個字符串,然后再將該字符串切分為若干個單詞,再取最后一個單詞,作為檢索詞,去在線詞匯搭配網(wǎng)站獲取該單詞的網(wǎng)頁相關(guān)信息,然后經(jīng)過一系列的網(wǎng)頁處理,最后在該應(yīng)用的檢索結(jié)果顯示區(qū)呈現(xiàn)。重點是通過ScrolledText的bind方法,將shift鍵和上面陳述的實現(xiàn)基本原理進(jìn)行綁定,這樣才可以實現(xiàn)用戶只需按下shift鍵,該應(yīng)用自動執(zhí)行上述相關(guān)代碼。
以上內(nèi)容為大家介紹了Python的英語搭配助手應(yīng)用開發(fā)研究,希望對大家有所幫助,如果想要了解更多Python相關(guān)知識,請關(guān)注IT培訓(xùn)機構(gòu):千鋒教育。http://m.2667701.com/