PILで延々とスクリーンキャプチャ

import ImageGrab
import time
import os
import shutil
import datetime

def capture():
	img = ImageGrab.grab()
	dt = datetime.datetime.now()
	img.save(dt.strftime('%Y%m%d_%H-%M-%S') + '.png')

def folder():
	print (os.getcwd())
	if os.path.isdir(os.getcwd() + '\\capture') == False:
		os.mkdir(os.getcwd() + '\\capture')
	os.chdir(os.getcwd() + '\\capture')
	print(os.getcwd())

def main():
	folder()
	num = 0
	while True:
		capture()
		time.sleep(300)    #5分ごとにキャプチャ
		num += 1
		if num > 100:
			break    #100枚とったら終了

if __name__ == "__main__":
	main()

実行するとカレントディレクトリにcaptureというディレクトリを作ってそこに5分ごとにキャプチャした画像を延々と保存し続ける。ファイル名には日時を入れている。

ファイルの拡張子を.pywにするとコンソールが現れない。やったね!

一応100枚とったら終わるようにしているけど、その部分を消したら拡張子を.pywにしている場合はタスクマネージャとかから終了させるしかない。


インデントが多いのは気のせい。