Форум сайта python.su
0
Эсть масив файлов с именами по шаблону:
5555_22_1_Иванов Иван Иванович.doc
7777_33_1_Петров Петр Петрович.doc
8888_21_2_Сидоров Степан Степанович.doc
и.т.д
Можно ли в Python переименовать файлы в такой вид:
Иванов Иван Иванович_5555_22_1.doc
Петров Петр Петрович_7777_33_1.doc
Сидоров Степан Степанович8888_21_2.doc
Офлайн
l = ['5555_22_1_Иванов Иван Иванович.doc', '7777_33_1_Петров Петр Петрович.doc', '8888_21_2_Сидоров Степан Степанович.doc'] for i in l: lst = i.split('.') oldname = lst[0].split('_') newname = oldname[-1] + '_'+ '_'.join(oldname[:-1])+'.'+lst[1] print newname
Отредактировано vic57 (Май 17, 2017 17:03:38)
Офлайн
73
n = '5555_22_1_Иванов Иван Иванович.doc' number = (n[:n.rfind('_')]) name = n[n.rfind('_')+1:n.rfind('.')] expansion = n[n.find('.'):] nev_n = '{}_{}{}'.format(name,number,expansion) print(nev_n)
Отредактировано marvellik (Май 17, 2017 17:30:41)
Офлайн
0
А если в меня вместо подчеркивания всюду пробулы стоят? Например:
5555 22 1 Иванов Иван Иванович.doc
надо Иванов Иван Иванович 5555 22 1.doc
Офлайн
Отредактировано vic57 (Май 18, 2017 16:09:40)
Офлайн
73
n = '5555 22 1 Иванов Иван Иванович.doc' expansion = n[n.find('.'):] number, name = [], [] for i in n[:n.find('.')].split(): number.append(i) if i.isdigit() else name.append(i) print(' '.join(name+number)+expansion)
Офлайн