1. 程式人生 > 程式設計 >python定時截圖實現

python定時截圖實現

寫在前面

因為暫時還沒有想好做什麼具體的某個專案來提升對python的理解,所以就自己想著做一下小玩意來加強一下自己對一些庫和方法的理解

分析

1、截圖

截圖的話有pillow這個模組,並且就兩條語句,後面會看到

2、定時任務

定時的話涉及到時間,所以會引入time這個模組

3、儲存

儲存的話因為是會有多個圖片,所以需要一個目錄來接,這裡我就放在了根目錄下的png目錄下,並且對目錄是否存在做了處理

程式碼

# python3 author jin xiang
import time
from PIL import ImageGrab
import os

#這裡是為了如果找不到png這個目錄的情況自己建一個png目錄
absPath = os.path.abspath('.')
path = [x for x in os.listdir('.') if os.path.isdir(x)]
# print(path)
if 'png' in path:
  #print('yes')
  pass
else:
 #print('no')
  #建立目錄
  pngPath = os.path.join(absPath,'png')
  os.mkdir(pngPath)

#截圖
def Screenshot():
 nowtime = time.strftime('%Y_%m_%d_%H_%M_%S',time.localtime(time.time()))
 print(nowtime)
 # 截圖語句很簡單的
  im = ImageGrab.grab()
  # 儲存(圖個有png路徑或者別的路徑需要在這個路徑下有這個目錄,不然報錯,所以我前面是做了規避,沒路徑我就自己建一個)
  im.save(r'png\%s.png' %(nowtime))
while True:  
 print("截圖!")
  Screenshot()

  print("暫停")
  print("\n")
  time.sleep(10) #定時10s看一下

效果

python定時截圖實現

python定時截圖實現

圖片成功儲存了。

補充知識:python opencv 定時器 攝像頭自動截圖小程式

我就廢話不多說了,大家還是直接看程式碼吧~

import threading
import cv2
global timer
import sys

def shot_img():
  global num
  success,frame = cameraCapture.read()
  path = "H://pythonr"
  cv2.imwrite( path +'a[num]' + '.jpg',frame)
  print(num)
  num += 1
  if num==10:
    cameraCapture.release()
    cv2.destroyAllWindows()
    sys.exit()
  timer = threading.Timer(1,shot_img)
  timer.start()

if __name__ == '__main__':
  num=0
  cameraCapture = cv2.VideoCapture(0)
  timer = threading.Timer(1,shot_img)
  timer.start()

以上這篇python定時截圖實現就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。