首页 > 解决方案 > 每次按下并释放“空格”键时,有没有办法截取屏幕截图?

问题描述

我不想每次都按printscreen,我想每次按下和释放空间时都取一个SS,并说SS保存在一个文件夹中。

我已经尝试使用 ImageGrab 使用 PIL,但我无法创建更多的 SS,以将它们整理好。''Image1.jpg'' ''Image2.jpg''

from PIL import ImageGrab
while True:0
keyboard.add hotkey('space')
SS = ImageGrab.grab()
save_path = "C:\\Users\\robbie\\Desktop\\prints\\image.jpg"
SS.save(save_path)

我上周开始使用 Python,但我对它很糟糕。

标签: pythonpython-imaging-library

解决方案


当您以相同的名称保存它们时,您总是只是用新的屏幕截图覆盖旧屏幕截图。您可以简单地将当前时间添加到文件名以使其唯一:

import datetime

import keyboard
from PIL import ImageGrab

while True:
    if keyboard.is_pressed('space'):
        SS = ImageGrab.grab()
        time = datetime.datetime.now().strftime("%Y%m%d%H%M%S")
        save_path = f"C:\\Users\\robbie\\Desktop\\prints\\image{time}.jpg"
        SS.save(save_path)

我也将其更改为 use keyboard.is_pressed(),因为这正是您真正需要的。


推荐阅读