Portfolio/Python_Scripts/DownloadSorter/DownloadSorter.py
2023-09-13 02:50:10 -07:00

45 lines
1.4 KiB
Python

import os
import shutil
import time
EXCLUDE_FILE = 'DownloadSorter.py'
def create_dir(path, extensions):
for ext in extensions:
if not os.path.exists(os.path.join(path, ext)):
os.mkdir(os.path.join(path, ext))
def move_files(target_path):
for file in os.listdir(target_path):
if os.path.isfile(os.path.join(target_path, file)) and file != EXCLUDE_FILE:
file_extension = file.split('.')[-1]
shutil.move(os.path.join(target_path, file), os.path.join(target_path, file_extension, file))
def main():
while True:
# Get current directory and set it as the target path
cwd = os.getcwd()
target_path = os.path.join(cwd)
# Set up the number of files originally for automation
number_of_files = len(os.listdir(cwd))
time.sleep(20)
old_number = number_of_files # Possibly redundant
number_of_files = len(os.listdir(cwd))
# If new files detected, organize them
if number_of_files != old_number:
# Get all file extensions present in the directory
extensions = {item.split('.')[-1] for item in os.listdir(target_path)
if os.path.isfile(os.path.join(target_path, item))}
# print(extensions)
# Create a folder for extension types
create_dir(target_path, extensions)
# Move the files into the folder
move_files(target_path)
main()