Форум сайта python.su
Пытаюсь рассортировать картинки лежащие кучей … по папкам … по разрешениям
Вот такой скрипт нашёл …
#!/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
Офлайн
sys.argv хранит аргументы, переданные скрипту
надо запустить python script.py arg1
Офлайн
Пишу … python script.py arg1
sorting started …
sorting completed!
но файлы никуда не перемещаются … и никаких изменений не происходит …
Офлайн
python script.py путь_до_картинок
Офлайн
if os.path.isdir(dirname):
Офлайн
написал
python путь_до_скрипта_script.py путь_до_картинок
sorting started ...
making dir /home/папку_с_названием__даты ... создаёт
sh: move: not found - пишет столько строк ... сколько картинок
sorting completed!
Офлайн
micpicodeВыкиньте этот мусор. Он нерабочий. Напишите лучше какая сортировка вам нужна. Кто нибудь да откликнется, может и я если время будет ;)
Пытаюсь рассортировать картинки лежащие кучей … по папкам … по разрешениям
Вот такой скрипт нашёл …
Офлайн
Буду очень благодарен … да думаю ещё кому пригодиться … т.к. в сети ничего не нашёл кроме этого скрипта …
В общем есть папка в которой кучей свалены файлы … а рассортировать требуется по разрешениям …
папки заранее не существуют … то есть скрипт должен брать изображение … смотреть его разрешение и класть в папку с названием
такого же разрешения … а если этой папки нет то создавать её …
Офлайн
Только я думаю не по разрешениям, а все же по расширениям.
Офлайн
guranvirнужно именно по разрешению
Только я думаю не по разрешениям, а все же по расширениям.
Офлайн