郭建軍 林麗君 何澤仁 王克強(qiáng)
摘 ? 要:開發(fā)一個基于Python語言的腳本工具來提高Python編寫腳本的效率。該工具是一款模擬鼠標(biāo)鍵盤動作的開發(fā)工具;可以通過制作腳本來代替人的雙手,自動執(zhí)行一系列的鼠標(biāo)鍵盤動作;可以模擬人的操作來代替人操作電腦。本按鍵腳本開發(fā)工具將人從一些重復(fù)度較高并且乏味的工作中解放出來,進(jìn)行更有意義的活動,從而提高了人的工作效率、工作質(zhì)量,降低了人力成本。
關(guān)鍵詞:Python ?腳本制作 ?按鍵模擬 ?像素點(diǎn)抓取
中圖分類號:TP242 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 文獻(xiàn)標(biāo)識碼:A ? ? ? ? ? ? ? ? ? ? ? 文章編號:1674-098X(2019)08(b)-0140-02
隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展、計算機(jī)的普及,人們越來越意識到,提高計算機(jī)的使用效率就等同于提高了工作辦事效率,更重要的是,腳本則是可以提高計算機(jī)使用效率的一種非常有效的工具[1]。
腳本,簡而言之,就是一段代碼,一段可以在計算機(jī)上執(zhí)行的代碼,我們現(xiàn)在使用的所有計算機(jī)的OS操作系統(tǒng),之所以功能如此豐富,就是因為嵌入了許多工具腳本[2]。在進(jìn)行一些重復(fù)度較高的工作的時候,人們需要不停地重復(fù)操控著鼠標(biāo)和鍵盤,來進(jìn)行重重復(fù)復(fù)的操作,這樣的工作是十分乏味和低效的,就像站在工廠流水線上的工人一樣,后來機(jī)器自動化代替了人手,機(jī)器代替工人進(jìn)行工作,這樣極大地提高了工廠的工作效率并且降低了出錯率。腳本也是如此,人們可以編寫一個腳本來代替自己完成那些周而復(fù)始且乏味的工作,從而提高工作效率,還釋放了人的雙手去完成其他更有意義的工作。因此,我們設(shè)計了一個基于Python語言的按鍵腳本開發(fā)工具,給Python腳本提供模擬鼠標(biāo)按鍵的方法,提高Python腳本的編寫效率,并且運(yùn)行寫好的Python腳本。
1 ?軟件設(shè)計思路
本工具的設(shè)計思路是,編寫3個UI界面,分別是主界面、腳本編輯界面、抓色工具界面。主界面功能有:列出已有腳本、新建腳本、運(yùn)行腳本、打開腳本編輯界面。腳本編輯界面功能有:編寫腳本、調(diào)試腳本、插入模擬按鍵鼠標(biāo)函數(shù)、打開抓色工具。抓色工具界面功能有:顯示當(dāng)前鼠標(biāo)所在像素點(diǎn)坐標(biāo)和顏色、記錄像素點(diǎn)坐標(biāo)和顏色、生成多點(diǎn)顏色對比代碼函數(shù)。
2 ?編程軟件及環(huán)境的選擇
本次的按鍵腳本開發(fā)工具設(shè)計選用Python語言[3]。Python是一種解釋型的腳本編程語言,代碼風(fēng)格清晰劃一,使其容易讀、容易維護(hù),且用途非常廣泛,因此,大量用戶很喜歡選用它。Python最初是由Guido van Rossum在1991年發(fā)行的,用于編寫自動化腳本,因此很適合我們的設(shè)計。Python的繼承開發(fā)環(huán)境有許多,像Pycharm、Spyder、LiCipse等,這些都是開源的Python IDE,都各自有著自己的優(yōu)缺點(diǎn)。
而在我們本次的Python編碼中,我們的集成開發(fā)環(huán)境決定使用Pycharm。因為Pycharm使用用戶比較多,大學(xué)時期的Python課程就是在Pycharm上學(xué)習(xí)的。Pycharm是由JetBrains開發(fā)的Python IDE,它擁有一套強(qiáng)大的制作與開發(fā)工具,大大提高其編程效率,它擁有的功能非常多,例如調(diào)試、語法高亮、Project管理、代碼跳轉(zhuǎn)、智能提示、自動完成等。其中的主要功能有如下。
(1)編碼協(xié)助:Pycharm擁有編碼補(bǔ)全功能,你不需要每一次都把完整的代碼編寫出來,你只需要編寫一部分代碼片段,它就會給你提示,然后可以自動補(bǔ)全,例如,當(dāng)你按下一個i字母,Pycharm就會提示你import這個關(guān)鍵字,當(dāng)你輸入到impo的時候,再按一下tab鍵就能自動補(bǔ)全import,這樣相當(dāng)?shù)姆奖?。同時,Pycharm還支持代碼折疊,使得編寫代碼變得整潔,查看代碼時易于操作,同時Pycharm還能夠智能分割窗口,很大程度上提高了用戶編寫代碼的效率。
(2)項目代碼導(dǎo)航:按住Ctrl鍵再鼠標(biāo)左鍵點(diǎn)擊函數(shù),可以即時從一個文件導(dǎo)航到另外一個文件,即可以導(dǎo)航到任意一個方法的聲明位置或被調(diào)用的位置。
(3)代碼分析:用戶可使用其編碼語法,錯誤高亮,智能檢測以及一鍵式代碼快速補(bǔ)全,來優(yōu)化編碼。
3 ?GUI編程工具的選擇
圖形用戶界面GUI(Graphical User Interface),是顯示圖形的接口,它可以把計算機(jī)的數(shù)據(jù)、功能等信息顯示到用戶計算機(jī)界面上,供用戶使用[4]。以往的計算機(jī)只有命令行,因此人機(jī)間的交互只能看到字符,沒有任何圖像,而GUI就是展示圖像給用戶,因此GUI又稱人機(jī)交互圖形化用戶界面設(shè)計。它極大地方便了用戶使用,用戶不用面對著枯燥的命令行,一行一行地敲著代碼,死記硬背大量的命令,而是可以自由地操控豐富多彩的圖形界面,通過窗口、按鍵、鼠標(biāo)等方式進(jìn)行操作,這大大提高了工作的效率。
應(yīng)用程序也可以有自己的圖形界面,如一個窗口,在這個窗口中實(shí)現(xiàn)了應(yīng)用程序和數(shù)據(jù)的一體化,應(yīng)用程序管理著窗口內(nèi)的數(shù)據(jù),進(jìn)行各種操作,如數(shù)據(jù)的生成、外部數(shù)據(jù)的采集、采集數(shù)據(jù)的處理以及編輯數(shù)據(jù)的過程等。
我們選用的GUI編程工具為Pyqt5。Pyqt5是一套Python綁定QT5應(yīng)用的框架。簡而言之,Pyqt5是Python的一個開發(fā)窗體程序的模塊,Pyqt5可以創(chuàng)建Qt Designer來進(jìn)行圖形界面編輯,這是一個可視化的圖形界面編輯環(huán)境,用戶可以直接畫出窗體,并且可以在工具欄中選中控件,把它拖到窗體任意位置,使圖形界面編輯變得十分直觀。它不僅可以直觀地顯示窗體的布局,而且能為窗體構(gòu)造事件函數(shù),讓一切的編程都在圖形界面上完成。
4 ?結(jié)語
基于Python語言的按鍵腳本開發(fā)工具編寫了模擬鼠標(biāo)鍵盤操作、抓取像素點(diǎn)坐標(biāo)顏色的代碼函數(shù),用一條語句就可以非常輕松地模擬鼠標(biāo)鍵盤動作、抓取像素點(diǎn)坐標(biāo)顏色。本開發(fā)工具現(xiàn)已投入到腳本制作與開發(fā)的實(shí)際工作中,根據(jù)工具開發(fā)人員的實(shí)際使用情況分析,在制作腳本的過程中通過使用本工具,現(xiàn)有腳本開發(fā)所需時間節(jié)約了30%,同時,由于目前所制作的開發(fā)工具支持的腳本語言很有限,給工具使用帶來了一定的局限性。日后的工作,我們將側(cè)重兼容更多的腳本語言來擴(kuò)展本開發(fā)工具的適用范圍,從而提高本基于python語言的按鍵腳本開發(fā)工具的實(shí)用性。
參考文獻(xiàn)
[1] 王常衡,李嘉偉,羅欽,等.淺析Python語言及其應(yīng)用前景[J].計算機(jī)產(chǎn)品與流通,2019(4):146.
[2] 黃萬銘.基于Python語言的量化策略設(shè)計與應(yīng)用優(yōu)化[J].現(xiàn)代計算機(jī):專業(yè)版,2019(1):90-92,96.
[3] 符志軍,王景景.Python語言學(xué)習(xí)探討與研究[J].中國多媒體與網(wǎng)絡(luò)教學(xué)學(xué)報,2019(1):8-9.
[4] 耿穎.使用Python語言的GUI可視化編程設(shè)計[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2019,19(2):20-22,44.