Форум сайта python.su
IDLE (Python 3.10 64-bit)
Windows 10
—————————-
Есть каталог с файлами музыки: Название.flac
(могут быть также другие расширения файлов: dsf или mp3)
Все файлы песен с расширением ( .flac) и они имеют разные названия.
Как изменить названия всех этих песен, к старому названию добавить номера по порядку так:
1-Название.flac
2-Название.flac
3-Название.flac
и т.д.
То есть должно к каждому названию впереди поставить номер по порядку и - 1- 2-
Есть такой скрипт:
Но этот скрипт работает по другому, его итог;# -*- coding: utf-8 -*- import os path = r"E:\__Moi_scripti\13_rename_m3u\Новая папка\\" f = os.listdir(path) n = 0 your_name = "Плейлист" format = '.m3u' for i in f: oldname = path + f[n] print(oldname) newname = path + your_name + str(n + 1) + format os.rename(oldname, newname) print(oldname, '======>', newname) n += 1
Офлайн
Можете попробовать
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=0
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):
str_1 = str(n ) + ‘ - ’
name=str_1 + name
return name
if __name__== ‘__main__’:
rename_files(DIRECTORY)
Офлайн
Спасибо lyuda@
Прошу Ваш код вставить правильно в редактор (кнопка Code Python - есть)
А то у меня выдаёт ошибки:
import os DIRECTORY = r"C:\Users\Пк\Desktop\22\Новая папка\\" def rename_files(find_directory): for root, dirs, files in os.walk(find_directory): n = 0 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): str_1 = str(n) + ‘ - ’ name = str_1 + name return name if __name__ == ‘__main__’: rename_files(DIRECTORY)
Отредактировано satfan (Апрель 5, 2022 13:05:25)
Офлайн
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 return def rename_file(root, name, n): 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) return def get_valid_name(name, n): name = str(n) + ' - ' + name return name if __name__ == '__main__': rename_files(DIRECTORY)
Офлайн