Вот такой скрипт нашёл …
#!/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)
выдаёт такую ошибку …
Traceback (most recent call last):
File "sort", line 9, in <module>
dirname = os.path.abspath(sys.argv[1])
IndexError: list index out of range