Чтобы разделить файлы на равный набор папок с помощью Python, вы можете использовать несколько методов. Вот несколько подходов:
- Использование модуля
shutil. Модульshutilв Python предоставляет удобный способ копирования, перемещения и удаления файлов и каталогов. Вы можете использовать его для разделения файлов на четные наборы папок, рассчитав количество файлов в каждой папке и затем скопировав их соответствующим образом.
import os
import shutil
def split_files_into_folders(source_dir, destination_dir, num_folders):
files = os.listdir(source_dir)
files_per_folder = len(files) // num_folders
for i in range(num_folders):
folder_path = os.path.join(destination_dir, f"folder_{i+1}")
os.makedirs(folder_path, exist_ok=True)
for file in files[i * files_per_folder: (i+1) * files_per_folder]:
source_file = os.path.join(source_dir, file)
destination_file = os.path.join(folder_path, file)
shutil.copy2(source_file, destination_file)
- Использование модуля
glob. Модульglobпозволяет найти все пути, соответствующие указанному шаблону. Вы можете использовать его для получения файлов в исходном каталоге, а затем равномерно распределить их по отдельным папкам.
import os
import glob
import shutil
def split_files_into_folders(source_dir, destination_dir, num_folders):
files = glob.glob(os.path.join(source_dir, "*"))
files_per_folder = len(files) // num_folders
for i in range(num_folders):
folder_path = os.path.join(destination_dir, f"folder_{i+1}")
os.makedirs(folder_path, exist_ok=True)
for file in files[i * files_per_folder: (i+1) * files_per_folder]:
shutil.copy2(file, folder_path)
Это всего лишь несколько способов разделить файлы на равные наборы папок с помощью Python. Вы можете выбрать подход, который лучше всего соответствует вашим требованиям.