Найти - Пользователи
Полная версия: IndexError: list index out of range
Начало » Python для новичков » IndexError: list index out of range
1 2
micpicode
Пытаюсь рассортировать картинки лежащие кучей … по папкам … по разрешениям

Вот такой скрипт нашёл …

#!/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
Подскажите где посмотреть … сам не нашёл …
py.user.next
sys.argv хранит аргументы, переданные скрипту
надо запустить python script.py arg1
micpicode
Пишу … python script.py arg1

sorting started …
sorting completed!

но файлы никуда не перемещаются … и никаких изменений не происходит …
sp3
python script.py путь_до_картинок
py.user.next
if os.path.isdir(dirname):
эта штука по ходу не срабатывает, этот всё равно пишет sorting completed

там надо две папки указать, существующих (а то скрипт не сообщает о том, что папки неправильно переданы)
micpicode
написал
python путь_до_скрипта_script.py путь_до_картинок
выдаёт
sorting started ...
making dir /home/папку_с_названием__даты ... создаёт
sh: move: not found - пишет столько строк ... сколько картинок
sorting completed!
собственно создаёт пустые папки с датами и всё … все файлы на месте как были
PooH
micpicode
Пытаюсь рассортировать картинки лежащие кучей … по папкам … по разрешениям
Вот такой скрипт нашёл …
Выкиньте этот мусор. Он нерабочий. Напишите лучше какая сортировка вам нужна. Кто нибудь да откликнется, может и я если время будет ;)
micpicode
Буду очень благодарен … да думаю ещё кому пригодиться … т.к. в сети ничего не нашёл кроме этого скрипта …

В общем есть папка в которой кучей свалены файлы … а рассортировать требуется по разрешениям …
папки заранее не существуют … то есть скрипт должен брать изображение … смотреть его разрешение и класть в папку с названием
такого же разрешения … а если этой папки нет то создавать её …
guranvir
Только я думаю не по разрешениям, а все же по расширениям.
micpicode
guranvir
Только я думаю не по разрешениям, а все же по расширениям.
нужно именно по разрешению

из википедии -

Разреше&#769;ние — величина, определяющая количество точек (пикселей) на единицу площади (или единицу длины). Термин обычно применяется к изображениям в цифровой форме, хотя его можно применить, например, для описания уровня грануляции фотопленки, фотобумаги или иного физического носителя. Более высокое разрешение (больше элементов) типично обеспечивает более точные представления оригинала.

Расширение имени файла (англ. filename extension, часто говорят просто расширение файла или расширение) — последовательность символов, добавляемых к имени файла и предназначенных для идентификации типа (формата) файла. Это один из распространённых способов, с помощью которых пользователь или программное обеспечение компьютера может определить тип данных, хранящихся в файле.
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