这篇文章将为大家详细讲解有关如何在python中使用PyAutoGui编写一个计算器,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
python可以做什么
Python是一种编程语言,内置了许多有效的工具,Python几乎无所不能,该语言通俗易懂、容易入门、功能强大,在许多领域中都有广泛的应用,例如最热门的大数据分析,人工智能,Web开发等。
前提环境准备
python3+pillow+pyautogui
先提前安装好python3以及pillow和pyautogui模块
这里介绍一下模块安装方法
pip install pillowpip install pyautoguipip install opencv-python
最终效果是利用python脚本模拟电脑计算器进行自动计算,相当于模拟人去点击自带的计算器进行运算,想要做到这一点需要有两个条件:
模拟鼠标和键盘的输入工作
识别计算器按钮的位置
先来看一下win10电脑的计算器是什么样子的:
我们要知道一点,计算器窗口的位置每次都是不同的,如果你是固定去确定按钮的坐标那就太被动了,所以我们这里需要用到图像识别,去识别到按钮的位置,博主这里
做一个示例 做一个1+2=的运算。
废话不多说直接上代码,跟着注释,看懂代码没毛病。
打开你的微信截图截下1,+,2,=四个图片存入脚本所在目录
详细代码
#导入模块from PIL import ImageGrabimport 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()#对象函数执行shoot1.position_show()shoot1.caculate()#shoot1.partialshoot()#shoot1.fullshoot()
运行结果
关于如何在python中使用PyAutoGui编写一个计算器就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。