這篇文章將為大家詳細講解有關如何在python中使用PyAutoGui編寫一個計算器,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

Python是一種編程語言,內(nèi)置了許多有效的工具,Python幾乎無所不能,該語言通俗易懂、容易入門、功能強大,在許多領域中都有廣泛的應用,例如最熱門的大數(shù)據(jù)分析,人工智能,Web開發(fā)等。
前提環(huán)境準備
python3+pillow+pyautogui
先提前安裝好python3以及pillow和pyautogui模塊
這里介紹一下模塊安裝方法
pip install pillow pip install pyautogui pip install opencv-python
最終效果是利用python腳本模擬電腦計算器進行自動計算,相當于模擬人去點擊自帶的計算器進行運算,想要做到這一點需要有兩個條件:
1.模擬鼠標和鍵盤的輸入工作
2.識別計算器按鈕的位置
先來看一下win10電腦的計算器是什么樣子的:

我們要知道一點,計算器窗口的位置每次都是不同的,如果你是固定去確定按鈕的坐標那就太被動了,所以我們這里需要用到圖像識別,去識別到按鈕的位置,博主這里
做一個示例 做一個1+2=的運算。
廢話不多說直接上代碼,跟著注釋,看懂代碼沒毛病。
打開你的微信截圖截下1,+,2,=四個圖片存入腳本所在目錄

詳細代碼
#導入模塊
from PIL import ImageGrab
import pyautogui as auto
#定義類
class Screenshoot:
def __init__(self):
#self.bbox = bbox
#self.name = name
#self.im = ImageGrab.grab(self.bbox)
#定位xy坐標,confidence為相似度判斷,好不要使用1.0完全相似,比較容易不識別
self.position_1 = auto.locateCenterOnScreen('1.png', confidence=0.9)
self.position_2 = auto.locateCenterOnScreen('2.png', confidence=0.9)
self.position_3 = auto.locateCenterOnScreen('+.png', confidence=0.9)
self.position_4 = auto.locateCenterOnScreen('=.png', confidence=0.9)
pass
def fullshoot(self):
#全屏截圖
#self.im.save('01.png')
pass
def partialshoot(self):
#局部精確截圖
#self.im.save(self.name+'.png')
pass
def position_show(self):
#打印各坐標
print(self.position_1)
print(self.position_2)
print(self.position_3)
print(self.position_4)
def caculate(self):
#依次點擊按鈕
auto.click(self.position_1)
auto.click(self.position_3)
auto.click(self.position_2)
auto.click(self.position_4)
#對象初始化
shoot1 = Screenshoot()
#對象函數(shù)執(zhí)行
shoot1.position_show()
shoot1.caculate()
#shoot1.partialshoot()
#shoot1.fullshoot()運行結果

關于如何在python中使用PyAutoGui編寫一個計算器就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
文章名稱:如何在python中使用PyAutoGui編寫一個計算器-創(chuàng)新互聯(lián)
網(wǎng)頁URL:http://www.chinadenli.net/article2/dpohic.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設、全網(wǎng)營銷推廣、虛擬主機、網(wǎng)站內(nèi)鏈、外貿(mào)網(wǎng)站建設、品牌網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容