satfan
Март 26, 2022 06:47:08
IDLE (Python 3.10 64-bit)
Windows 10
—————————-
Есть каталог с файлами плейлистов.
Все файлы плейлистов с расширением .m3u и они имеют разные названия.
Как изменить названия всех этих плейлистов,
удалять поочерёдно старые названия и пронумеровать их по порядку так: 1.m3u 2.m3u 3.m3u и т.д.
lyuda@
Апрель 5, 2022 12:48:53
Можете попробовать
DIRECTORY=r“c:\Users\людмила\PycharmProjects\Laifhak\Yrok_2.2”
def rename_files(find_directory):
for root, dirs,files in os.walk(find_directory):
n=1
for name in files:
rename_file(root,name,n)
n=n+1
def rename_file(root, name,n):
# print(root)
valid_name= get_valid_name(name,n)
old_file=os.path.join(root,name)
new_file=os.path.join(root,valid_name)
os.rename(old_file,new_file)
print('vse cdelali')
def get_valid_name(name,n):
# name=name.replace(“_27.flac”,“_ред_27.flac”)
name=str(n) + ‘.m3u’
return name
if __name__== ‘__main__’:
rename_files(DIRECTORY)
xam1816
Апрель 5, 2022 17:11:40
lyuda@
Можете попробовать
[code python]сюда вставлять код для правильного отображения[/code]
lyuda@
Апрель 6, 2022 10:19:48
#Переименование файлов
import os
DIRECTORY=r"c:\Users\людмила\PycharmProjects\Laifhak\Yrok_2.2"
def rename_files(find_directory):
for root, dirs,files in os.walk(find_directory):
n=1
for name in files:
rename_file(root,name,n)
n=n+1
def rename_file(root, name,n):
# print(root)
valid_name= get_valid_name(name,n)
old_file=os.path.join(root,name)
new_file=os.path.join(root,valid_name)
os.rename(old_file,new_file)
print('vse cdelali')
def get_valid_name(name,n):
name=str(n) + '.m3u'
return name
if __name__== '__main__':
rename_files(DIRECTORY)
satfan
Апрель 6, 2022 10:56:50
Спасибо lyuda@
Скрипт работает.
——————
В Вашем скрипте я получаю это:
Так получил: 3.mp3
6.mp3
———
А так нужно: 3 - Great White - Save Your Love.mp3
6 - Lynyrd Skynyrd - Simple Man.mp3
то есть после цифры, в начале названия пробел чёрточка пробел.
————————————————————-
1. Должно остаться старое название песни и исполнителя.
2. Что ещё можно добавить в скрипт, чтобы он одновременно переименовывал и другие расширения файлов помимо mp3?
Всё в этой папке (могут быть также другие расширения файлов: dsf и flac)
То есть расширения должны остаться исходные.
lyuda@
Апрель 6, 2022 11:16:49
Поставьте строку вместо старой
name=str(n) + ‘ - ’ + name
satfan
Апрель 6, 2022 11:47:21
Спасибо lyuda@
Эта строка выдаёт ошибку:
name = str(n) + ’ - ’ + name
lyuda@
Апрель 6, 2022 13:19:25
Все работает, можете поставить двойные кавычки.
Проверьте позицию, куда поставили строку
lyuda@
Апрель 6, 2022 13:22:32
def get_valid_name(name,n):
name=str(n) + ' - ' + name
return name
satfan
Апрель 6, 2022 14:25:08
Спасибо lyuda@
Всё работает.
Удачи.