【发布时间】:2020-04-14 17:06:05
【问题描述】:
这是我第一次创建一个每两秒截屏的python程序。问题是我不知道如何打破 while 循环。我写的sscount不为零,继续截图。然后当用户按下 ESC 按钮时,将 sscount 设置为 0。这应该会停止 while 循环,但我会收到警告“未使用的变量 'sscount'”,并且它也不会停止 while 循环。
谁能帮帮我?谢谢。
import pynput
import pyautogui
import time
from pynput.keyboard import Key, Listener
count = 0
def on_release(key):
if key == Key.esc:
sscount = 0 #this is where the warning comes.
return False
with Listener(on_press=on_press, on_release=on_release) as listener:
listener.join()
while sscount != 0:
pyautogui.screenshot('/users/aliha/desktop/screenshot/image'+str(sscount)+'.png')
sscount += 1
time.sleep(2.0)
【问题讨论】:
-
您必须使用全局变量
sscount,并在on_release中将其声明为global- 否则每次创建并丢弃一个新的局部变量。
标签: python