问题描述
我有一个简单的 while 循环。我想跳过一个不。当条件为真时。当我只想检查一个时它工作正常。当我想检查两个连续的数字时,它并不完全有效。 这是我的代码:
import numpy as np
import os
import cv2
import time
import pyautogui
import keyboard
def do():
image = pyautogui.screenshot()
image = cv2.cvtColor(np.array(image),cv2.COLOR_RGB2BGR)
return image
n=ls[0]
while True:
if keyboard.is_pressed('s'):
n+=1
if os.path.exists('im'+str(n)+'.png')==True:# it is this part
n+=1
time.sleep(3)
cv2.imwrite("im"+str(n)+".png",do())
现在例如,如果 im5.png 和 im6.png 存在,它适用于前者而不适用于后者。
任何帮助将不胜感激
解决方法
只需在 continue
后添加 n+=1
if os.exists('im'+str(n)+'.png')==True:
n+=1
continue #this line
但是,还有一个问题,即使添加了这个,你的循环也会永远运行,没有 break
条件