Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Copy Source | Copy HTML
- #!/usr/bin/env python
- # -*- coding: UTF-8 -*-
- """ sorts images by resolution"""
-
-
- import os,sys
- import time
-
- dirname = os.path.abspath(sys.argv[1])
- try:
- newdir = os.path.abspath(sys.argv[2])
- except:
- newdir = dirname
-
-
- def image_sort(dirname, newdir, recur= 0):
- if not recur:print 'sorting started ...'
- else: print 'sorting started in %s...'%dirname
- if not newdir: newdir = dirname
-
- imagelist = []
-
- if os.path.isdir(dirname):
- for x in os.listdir(dirname):
- absx = dirname+os.sep+x
- if os.path.isfile(absx):imagelist.append(absx)
- else:
- image_sort(absx, newdir+os.sep+x,recur=1)
- for name in imagelist:
- try:
- file_date = time.localtime(os.stat(name).st_mtime)
- except EnvironmentError, error:
- print 'seems error: %s with '%error, name, '/n'
- continue
- imdir = '%s--%s--%s'%(file_date.tm_year,file_date.tm_mon,file_date.tm_mday)
- imdir = os.path.join(newdir,imdir)
- if os.path.split(dirname)[-1] == os.path.split(imdir)[-1]:
- continue
- elif not os.path.exists(imdir):
- print 'making dir %s'%imdir
- os.mkdir(imdir)
- try:
- os.system('move "%s" "%s"'%(name,imdir))
- except EnvironmentError:
- print 'error with '+ name, '/n'
- if not recur:print 'sorting completed!'
-
- if __name__ == '__main__':
- image_sort(dirname, newdir)
Сортировка изображений по разрешению с помощью Python и PIL