Форум сайта python.su
0
Нужно написать скрипт, который делает картинку с экрана раз в секунду и сохраняет файлы 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’)
Офлайн
7
Скачиваем модуль 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
Отредактировано elisk (Апрель 9, 2013 21:01:13)
Офлайн
0
Можно вопросик: Почему i<6 ? и обязательно ли этот PIL?
Отредактировано LadyDi (Апрель 9, 2013 21:07:45)
Офлайн
7
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
Офлайн
0
Спасибо огромное. И тогда последнее, а если вместо имя DATE - , я хочу чтоб имя файла было число, когда он сделан.Например 09.04.2013 -1
Офлайн
7
#-*- 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
Офлайн
0
Спасибо огромное!
Офлайн
0
Попыталась запустит на Линукс скрипт, но он не работает. Походу этот from PIL import ImageGrab на Windows только.
Офлайн
7
нужно скачать PIL для Линукса:
наберите в терминале: sudo apt-get install python-imaging
Офлайн
0
так и сделала, но он не хочет устанавливаться
….ладно….завтра разберусь…..ещё раз спасибки 
Отредактировано LadyDi (Апрель 9, 2013 22:32:57)
Офлайн