每当按下并释放“ Space”键时,是否有办法进行屏幕截图?

时间:2019-08-09 12:34:25

标签: python python-imaging-library

我不想每次都按下打印屏幕,我想每次按下并释放空间时都拿一个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,但是我感到很糟糕。

2 个答案:

答案 0 :(得分:1)

以相同的名称保存时,总是总是用新的截图覆盖旧的截图。您只需将当前时间添加到文件名中即可使其唯一:

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)

我也将其更改为使用keyboard.is_pressed(),因为这正是您实际需要的。

答案 1 :(得分:0)

这是另一种工作方法:

import keyboard as k
import time
from PIL import ImageGrab
while True:
    if k.is_pressed("space"):
        SS = ImageGrab.grab()
        save_path = "C:\\Users\\robbie\\Desktop\\prints\\image " + str(time.time()) + ".jpg"
        SS.save(save_path)