代码如下:

from desktopmagic.screengrab_win32 \
import (getDisplayRects, getRectAsImage)
from PIL import ImageGrab
import time
import datetime

startTime = time.time_ns()
# getDisplayRects 函数会拿到当前所有显示器的rect [left_x, left_y, right_x, right_y]
# screens 是一个列表, 每一个元素都代表着一个显示器的 rect
screens = getDisplayRects()
print("当前屏幕个数是:",len(screens))

j=input("Please input the screen number 0 or 1:")
i = int(j)
if i>len(screens)-1:
print("输入错误!")
else:
# imageGrab.grab 方法需要指定 all_screens 参数, 才能在 screens.rect 为负数的情况下正确截屏
image = ImageGrab.grab(bbox=screens[i], all_screens=True)

#Get current time and save as file name
curr_time = datetime.datetime.now()
time_str = datetime.datetime.strftime(curr_time,'%Y-%m-%d-%H-%M-%S')+".jpg"

image.save("screen_"+j+"_"+time_str, format="JPEG")
print("screen_"+j+"_"+time_str, "has saved",)

说明:

1、需要输入截屏的序号,第一个屏是0,第二个屏是1;所以适用于多屏幕的截屏需求;

2、以当前的时间命名,并保存到当前路径;