Недавно на ютубе мельком услышал о идее, как чел делал сортировщик в папке.
Попытался сделать сам(только учусь питону), в итоге возникли 2 проблемы.
Мне надо было переместить файл из директории D:\Downloads в директорию D:\Downloads\Text (к примеру)
Я попытался использовать функцию из os replace
if os.path.splitext(file)[1] == '.txt':
os.replace(file, "D:\Downloads\Text")
В ходе чего возникла ошибка:
Traceback (most recent call last):
File "D:/Python_projects/sorting_downloads/main.py", line 18, in
os.replace(file, "D:\Downloads\Text")
PermissionError: [WinError 5] Отказано в доступе: 'Новый текстовый документ.txt' -> 'D:\\Downloads\\Text'
Тогда я решил подключить shutil, и использовать ее функцию shutil.move
Где я первым аргументом указал путь к файлу в директории Downloads, а во втором Text.
Все получилось, файл перенесся, но если в Downloads оказывается файлы с тем же именем, что и в Text, то он просто заменяет старый файл, а мне нужно, что бы как при обычном переносе просто добавлялось что то типа (1)
import os
# import calendar
os.chdir(r"D:\Downloads")
dirs = ['Изображения', 'Видео', 'Торрент', 'Установщики', 'Zip', 'Аудио(Музыка)', 'Остальное', 'Text']
for name in dirs:
if os.path.isdir(name):
continue
os.mkdir(r"{}".format(name))
swaps = True
while True:
swaps = False
for file in os.listdir():
if os.path.isfile(file):
if os.path.splitext(file)[1] == '.txt':
os.replace(file, "D:\Downloads\Text")
p.s Напишите, как с помощью os правильно переместить файл в другую папку
p.s.s не обессудьте за тупость