如何在python中使用PyAutoGui編寫一個(gè)計(jì)算器-創(chuàng)新互聯(lián)

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

創(chuàng)新互聯(lián)建站的客戶來自各行各業(yè),為了共同目標(biāo),我們?cè)诠ぷ魃厦芮信浜?,從?chuàng)業(yè)型小企業(yè)到企事業(yè)單位,感謝他們對(duì)我們的要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來驚喜。專業(yè)領(lǐng)域包括成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、電商網(wǎng)站開發(fā)、微信營銷、系統(tǒng)平臺(tái)開發(fā)。

python可以做什么

Python是一種編程語言,內(nèi)置了許多有效的工具,Python幾乎無所不能,該語言通俗易懂、容易入門、功能強(qiáng)大,在許多領(lǐng)域中都有廣泛的應(yīng)用,例如最熱門的大數(shù)據(jù)分析,人工智能,Web開發(fā)等。

前提環(huán)境準(zhǔn)備

python3+pillow+pyautogui

先提前安裝好python3以及pillow和pyautogui模塊

這里介紹一下模塊安裝方法

pip install pillow
pip install pyautogui
pip install opencv-python

最終效果是利用python腳本模擬電腦計(jì)算器進(jìn)行自動(dòng)計(jì)算,相當(dāng)于模擬人去點(diǎn)擊自帶的計(jì)算器進(jìn)行運(yùn)算,想要做到這一點(diǎn)需要有兩個(gè)條件:

1.模擬鼠標(biāo)和鍵盤的輸入工作

2.識(shí)別計(jì)算器按鈕的位置

先來看一下win10電腦的計(jì)算器是什么樣子的:

如何在python中使用PyAutoGui編寫一個(gè)計(jì)算器

我們要知道一點(diǎn),計(jì)算器窗口的位置每次都是不同的,如果你是固定去確定按鈕的坐標(biāo)那就太被動(dòng)了,所以我們這里需要用到圖像識(shí)別,去識(shí)別到按鈕的位置,博主這里

做一個(gè)示例 做一個(gè)1+2=的運(yùn)算。

廢話不多說直接上代碼,跟著注釋,看懂代碼沒毛病。

打開你的微信截圖截下1,+,2,=四個(gè)圖片存入腳本所在目錄

如何在python中使用PyAutoGui編寫一個(gè)計(jì)算器

詳細(xì)代碼

#導(dǎo)入模塊
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坐標(biāo),confidence為相似度判斷,好不要使用1.0完全相似,比較容易不識(shí)別
    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):
    #打印各坐標(biāo)
    print(self.position_1)
    print(self.position_2)
    print(self.position_3)
    print(self.position_4)
  def caculate(self):
    #依次點(diǎn)擊按鈕
    auto.click(self.position_1)
    auto.click(self.position_3)
    auto.click(self.position_2)
    auto.click(self.position_4)
#對(duì)象初始化
shoot1 = Screenshoot()
#對(duì)象函數(shù)執(zhí)行
shoot1.position_show()
shoot1.caculate()
#shoot1.partialshoot()
#shoot1.fullshoot()

運(yùn)行結(jié)果

如何在python中使用PyAutoGui編寫一個(gè)計(jì)算器

關(guān)于如何在python中使用PyAutoGui編寫一個(gè)計(jì)算器就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

文章名稱:如何在python中使用PyAutoGui編寫一個(gè)計(jì)算器-創(chuàng)新互聯(lián)
網(wǎng)頁URL:http://muchs.cn/article2/dpohic.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設(shè)、全網(wǎng)營銷推廣虛擬主機(jī)、網(wǎng)站內(nèi)鏈外貿(mào)網(wǎng)站建設(shè)、品牌網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管