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