Вот программа на Python, которая последовательно переименовывает файлы в папке с именами в формате «file_1.py», «file_2.py» и т. д.:
import os
folder_path = '/path/to/folder' # Replace with the path to your folder
prefix = 'file_' # Prefix for the new file names
extension = '.py' # Extension for the new file names
counter = 1 # Starting counter
for filename in os.listdir(folder_path):
if filename.endswith(extension):
new_name = prefix + str(counter) + extension
old_path = os.path.join(folder_path, filename)
new_path = os.path.join(folder_path, new_name)
os.rename(old_path, new_path)
counter += 1
Эта программа перебирает все файлы в указанной папке и последовательно переименовывает файлы с расширением «.py», начиная с «file_1.py» и увеличивая счетчик для каждого файла.
Вот несколько альтернативных методов достижения того же результата:
Метод 1: использование функции enumerate()
import os
folder_path = '/path/to/folder'
extension = '.py'
for index, filename in enumerate(os.listdir(folder_path)):
if filename.endswith(extension):
new_name = f'file_{index+1}{extension}'
old_path = os.path.join(folder_path, filename)
new_path = os.path.join(folder_path, new_name)
os.rename(old_path, new_path)
Метод 2. Использование цикла while
import os
folder_path = '/path/to/folder'
extension = '.py'
counter = 1
filename = os.listdir(folder_path)
while filename:
if filename[0].endswith(extension):
new_name = f'file_{counter}{extension}'
old_path = os.path.join(folder_path, filename[0])
new_path = os.path.join(folder_path, new_name)
os.rename(old_path, new_path)
counter += 1
filename = os.listdir(folder_path)
Метод 3: использование модуля glob
import os
import glob
folder_path = '/path/to/folder'
extension = '.py'
file_list = glob.glob(os.path.join(folder_path, '*' + extension))
for index, file_path in enumerate(file_list):
new_name = f'file_{index+1}{extension}'
new_path = os.path.join(folder_path, new_name)
os.rename(file_path, new_path)