То, как ты это делаешь, выглядит Pythonic. Несколько альтернатив (не обязательно предложений):
Вы можете пропустить os.chdir(target)
и сделать os.path.join(target, filename)
в цикле.
Вы можете сделать strftime('{0}-%Y-%m-%d-%H:%M:%S.jpg'.format(prefix))
, чтобы избежать конкатенации строк. Это единственный, который я рекомендую.
Вы можете повторно использовать имя переменной, например temp_date
вместо t
, v
и x
. Это было бы хорошо.
Вы можете пропустить сохранение временных переменных и просто сделать:
for filename in os.listdir(target):
os.rename(filename, datetime.fromtimestamp(
os.path.getmtime(filename)).strftime(
'{0}-%Y-%m-%d-%H:%M:%S.jpeg'.format(prefix)))
Вы можете обобщить свою функцию для работы с рекурсивными каталогами, используя os.walk()
.
Вы можете определить расширение файлов, чтобы оно было правильным не только для .jpeg
с.
Вы можете убедиться, что переименованы только файлы вида DSCN1#####.jpeg