Найти - Пользователи
Полная версия: Скрипт на Python - пронумеровать файлы песен.
Начало » Python для новичков » Скрипт на Python - пронумеровать файлы песен.
1
satfan
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
Но этот скрипт работает по другому, его итог;
Плейлист1.m3u
Плейлист2.m3u
Плейлист3.m3u
————————–
Прошу помощи.
lyuda@
Можете попробовать

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)
satfan
Спасибо 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)
Ошибка в этой строке:
valid_name = get_valid_name(name, n)
lyuda@
 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)
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