Найти - Пользователи
Полная версия: Скрипт Screenshot
Начало » Python для новичков » Скрипт Screenshot
1
LadyDi
Нужно написать скрипт, который делает картинку с экрана раз в секунду и сохраняет файлы DATE-1, DATE-2 и тд.
Так как Python для меня совсем неизвестен, то вот что нагуглила, но как это делать раз в секунду, что-то не могу найти…хотя неуверена, что и остальное верно. Помогите.

import ImageGrab
import itertools
import time

img = ImageGrab.grab()
#Pervyi variant
time.sleep(1)
filecounter = itertools.count(1)
filename = ‘DATE%i.jpg’ % filecounter.next()
img.save(filename, ‘JPEG’)
elisk
Скачиваем модуль PIL для нашей системы:
https://developers.google.com/appengine/docs/python/images?installingPIL?hl=ru
#-*- coding: utf-8 -*- 
from PIL import ImageGrab 
from time import sleep
import Image, ImageDraw
i = 1
while i<6:                                                # количество секунд
	time.sleep(1)                                  # каждую секунду	
	screen_one = ImageGrab.grab()    # делаем скрин 
	z = "DATE-" + str(i) + ".jpg"
	screen_one.save(z)                      # сохраняем скрины там же где скрипт
	i += 1		
LadyDi
Можно вопросик: Почему i<6 ? и обязательно ли этот PIL?
elisk
PIL - кроссплатформенный модуль, т.е. ваш код будет работать во всех системах. Скачать и установить его дело пары минут.
https://developers.google.com/appengine/docs/python/images/installingPIL?hl=ru
6 - это было количество секунд. Можно сделать бесконечный цикл:
#-*- coding: utf-8 -*- 
from PIL import ImageGrab 
import time
import Image, ImageDraw
i = 1
while True:                                             # Бесконечный цикл пока не закроем окно консоли
	time.sleep(1)                                  # каждую секунду	
	print "screen number: ", i               # Выводим номер скрина в консоль
	screen_one = ImageGrab.grab()     # делаем скрин 
	z = "DATE-" + str(i) + ".jpg"
	screen_one.save(z)                         # сохраняем скрины там же где скрипт
	i += 1	
LadyDi
Спасибо огромное. И тогда последнее, а если вместо имя DATE - , я хочу чтоб имя файла было число, когда он сделан.Например 09.04.2013 -1
elisk
#-*- coding: utf-8 -*- 
from PIL import ImageGrab 
import time
import Image, ImageDraw
import datetime                                                       # для вывода даты
i = 1
now_date = datetime.date.today()                          # текущая дата 
my_date = now_date.strftime("%d.%m.%Y")         # форматируем дату(вместо - ставим .)
while True:                                                              # Бесконечный цикл пока не закроем окно консоли
	time.sleep(1)                                                     # каждую секунду	
	print "screen number: ", i                                 # Выводим номер скрина в консоль
	screen_one = ImageGrab.grab()                       # делаем скрин 
	z = str(my_date) + " - " + str(i) + ".jpg"
	screen_one.save(z)                                           # сохраняем скрины там же где скрипт
	i += 1	

LadyDi
Спасибо огромное!
LadyDi
Попыталась запустит на Линукс скрипт, но он не работает. Походу этот from PIL import ImageGrab на Windows только.
elisk
нужно скачать PIL для Линукса:
наберите в терминале: sudo apt-get install python-imaging


LadyDi
так и сделала, но он не хочет устанавливаться….ладно….завтра разберусь…..ещё раз спасибки
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB