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