Для перераспределения файлов в папках с помощью Python можно использовать модуль os
и его функции os.listdir()
и os.rename()
. Давайте представим, что у нас есть начальная папка source_folder
, содержащая файлы разного типа, и нам нужно перераспределить их по папкам на основе их расширений.
- Сначала нужно импортировать модуль
os
:
import os
- Задаем путь к начальной папке, в которой хранятся файлы, и создаем список файлов в этой папке с помощью функции
os.listdir()
:
source_folder = 'путь_к_начальной_папке' file_list = os.listdir(source_folder)
- Создаем цикл
for
, который будет перебирать каждый файл в списке:
for file_name in file_list:
- Для каждого файла получаем его расширение с помощью метода
splitext()
модуляos.path
, который даст нам имя файла и его расширение:
file_extension = os.path.splitext(file_name)[1]
- Затем, проверяем существует ли папка с таким же названием, как расширение файла. Если она не существует, то создаем эту папку с помощью функции
os.makedirs()
:
destination_folder = os.path.join(source_folder, file_extension) if not os.path.exists(destination_folder): os.makedirs(destination_folder)
- Наконец, переименовываем файлы в соответствии с папкой, в которой мы хотим их разместить, с помощью функции
os.rename()
:
source = os.path.join(source_folder, file_name) destination = os.path.join(destination_folder, file_name) os.rename(source, destination)
Полный код программы будет выглядеть следующим образом:
import os source_folder = 'путь_к_начальной_папке' file_list = os.listdir(source_folder) for file_name in file_list: file_extension = os.path.splitext(file_name)[1] destination_folder = os.path.join(source_folder, file_extension) if not os.path.exists(destination_folder): os.makedirs(destination_folder) source = os.path.join(source_folder, file_name) destination = os.path.join(destination_folder, file_name) os.rename(source, destination)
После выполнения этого скрипта, файлы будут перераспределены в папках, основе их расширений.