Найти - Пользователи
Полная версия: Переименование файлов.
Начало » Python для новичков » Переименование файлов.
1
Oleg2017
Эсть масив файлов с именами по шаблону:
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

vic57
 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
переименовать - os.rename()
marvellik
 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)
Oleg2017
А если в меня вместо подчеркивания всюду пробулы стоят? Например:
5555 22 1 Иванов Иван Иванович.doc

надо Иванов Иван Иванович 5555 22 1.doc
vic57
RTFM
marvellik
 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)

Иванов Иван Иванович 5555 22 1.doc
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