проблема с сортировщиком файлов , не правильно передает путь
при переносе файлов в новые папки , некоторые файлы сжимаются в один файл без расширения. Думаю что проблема тут shutil.move(str(item), os.path.join(path, "images") ,но не понимаю как исправить
from pathlib import Path
import shutil
import sys
import os
def sort_files_and_folders(path):
path = Path(path)
for item in path.iterdir():
if item.is_dir() and item.name in ["images", "documents", "audio", "archive", "video", "other"]:
continue
elif item.is_dir():
sort_files_and_folders(item)
elif item.is_file():
if item.suffix.lower() in (".jpg", ".jpeg", ".png", ".gif", ".mp"):
shutil.move(str(item), os.path.join(path, "images")
elif item.suffix.lower() in (".avi", ".mp4", ".mov", ".mkv"):
shutil.move(str(item), os.path.join(path, "video"))
elif item.suffix.lower() in (".doc", ".docx", ".txt", ".pdf", ".xlsx", ".pptx"):
shutil.move(str(item), os.path.join(path, "documents"))
elif item.suffix.lower() in (".mp3", ".ogg", ".wav", ".amr"):
shutil.move(str(item), os.path.join(path, "audio"))
elif item.suffix.lower() in (".zip", ".gz", ".tar"):
archive_name = item.stem
archive_path = path / "archive" / archive_name
archive_path.mkdir(parents=True, exist_ok=True)
shutil.unpack_archive(str(item), str(archive_path))
shutil.move(str(item), os.path.join(path, "archive"))
else:
shutil.move(str(item), os.path.join(path, "other"))
source_path = Path(sys.argv[1])
create_folders(source_path)
sort_files_and_folders(source_path)