ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
[toc] ## Python开发心得 相关学习材料:https://naotu.baidu.com/file/bc6e9fbaecf5319bced0918131be3941 ## 基础语法 ### while循环比for循环更加灵活 - for循环 - while循环:while可以使用死循环,且可以根据元素下标开始循环位置 ```python # 程序入口、控制中心_单次执行 def startOnce(self): # 1、打开任务文件夹 var_index = 0 # 轮询次数 polling_count = 1 images = os.listdir("./images/task_" + self.dir) while var_index < len(images) and polling_count <= self.max: # listdir的参数是文件夹的路径 filename = images.__getitem__(var_index) print("[step-" + str(var_index + 1) + "]======================" + filename) if var_index < self.index: print("跳过第" + str(var_index + 1) + "个步骤") var_index += 1 continue # 2、先截取游戏区域大图,然后返回小图在大图中的坐标 # 1、第一种截图方法,只能截取电脑主屏幕 # self.screenshot() # 2、第二种截图方法,可以截取进程所在显示器的主屏幕 start_XY = self.cW.grab_picture() src = cv2.imread('temp.png') target = cv2.imread('./images/task_' + self.dir + '/' + filename) # self.find_button(target,full_screen) pos = crab.find_position(target, src, start_XY[0], start_XY[1]) if pos is None: if filename.__contains__("once_"): print("该按钮点击一次就够了哦~即将跳过当前操作") var_index += 1 continue elif polling_count == self.max: self.mode = 'Polling' # 启动轮询模式,并从当前节点开始向后执行 print("第" + str(polling_count) + "次尝试点击,但是未找到按钮[" + filename + "]轮询模式启动……") self.index = self.polling_start(var_index) var_index = self.index + 1 polling_count = 1 continue else: print("第" + str(polling_count) + "次尝试点击,但是未找到按钮[" + filename + "]休息2s后继续……") polling_count += 1 time.sleep(2) else: print("系统正在操作按钮:" + filename) if self.mode == 'Polling': self.mode = '' print("轮询模式已关闭") self.mouse.move(pos[0], pos[1]) time.sleep(self.rate) self.mouse.press(pos[0], pos[1]) # 指示当前执行的步骤序号 var_index += 1 if filename.__contains__("_delay"): time.sleep(5) else: time.sleep(self.rate) continue ``` 包的安装: