Форум сайта python.su
0
Всем привет! Мне нужно переименовать огромное количество картинок, и чтобы не делать это в ручную решил воспользоватся питоном, (это мой первый скрипт не считая HelloWorld и прочих тестовых функций)
Вот код:
import os dir = os.getcwd() i = 1; for name in os.listdir(dir+'/img'): print(name+' -> '+str(i)+'.jpg') os.rename(name,str(i)+'.jpg') i=i+1
Python 2.7.3 (default, Apr 10 2012, 23:31:26) on win32Подскажите пожалуйтса что не так? Спасбио!
Type “copyright”, “credits” or “license()” for more information.
>>> ================================ RESTART ================================
>>>
1327607179_88e8b605208e2c9931f2acd6d43c06d7g.jpg -> 1.jpg
Traceback (most recent call last):
File “C:\Python27\my\rename.py”, line 6, in <module>
os.rename(name,str(i)+'.jpg')
WindowsError:
>>>
Офлайн
33
А текст ошибки после “WindowsError:” где?
Если файл 1.jpg уже существует, то под Вин будет ошибка.
В этом случае нужно использовать промежуточное переименование с уникальным именем.
Офлайн
15
я вот таким пользуюсь:
import os path = input("Input path:") for i, filename in enumerate(os.listdir(path)): os.chdir(path) os.rename(filename, 'air{0}.png'.format(i+1))
Это для Python 3.3.0, для 2-го нужно исправить input на raw_input.
Отредактировано smoke853 (Дек. 6, 2012 03:39:01)
Офлайн
221
Faydaen
Это вам на досуг:
http://www.python.su/forum/topic/15916/
Офлайн