Python Auto File Organizer - Organize Downloads in 10 Min
Quick Start: Organize Files in 10 MinutesWhat You Need:
- Python 3.6+
- No extra libraries needed (built-in modules only)
The Problem: Your Downloads folder is a mess. Let Python fix it automatically.
Complete Code:
import os, shutil
from pathlib import Path
def organize_folder(folder_path):
categories = {
'Images': ['.jpg','.jpeg','.png','.gif','.bmp','.svg','.webp'],
'Documents': ['.pdf','.doc','.docx','.txt','.md','.csv','.xlsx'],
'Videos': ['.mp4','.avi','.mkv','.mov','.wmv'],
'Audio': ['.mp3','.wav','.flac','.aac','.ogg'],
'Archives': ['.zip','.rar','.7z','.tar','.gz'],
'Code': ['.py','.js','.html','.css','.java','.cpp','.c'],
'Programs': ['.exe','.msi','.deb','.rpm','.app'],
}
stats = {'moved': 0, 'errors': 0}
for filename in os.listdir(folder_path):
filepath = os.path.join(folder_path, filename)
if not os.path.isfile(filepath):
continue
ext = Path(filename).suffix.lower()
target_folder = 'Other'
for category, extensions in categories.items():
if ext in extensions:
target_folder = category
break
dest = os.path.join(folder_path, target_folder)
os.makedirs(dest, exist_ok=True)
try:
shutil.move(filepath, os.path.join(dest, filename))
print(f"Moved: {filename} -> {target_folder}/")
stats['moved'] += 1
except Exception as e:
print(f"Error: {filename} - {e}")
stats['errors'] += 1
print(f"Done! Moved {stats['moved']} files.")
if __name__ == '__main__':
target = input("Enter folder path: ").strip()
if os.path.isdir(target):
organize_folder(target)
How It Works:
1. Scans all files in target folder
2. Checks file extension against category list
3. Creates subfolder for each category
4. Moves files into matching folders
Usage: python3 file_organizer.py
Result:
Before: Downloads/ (100+ mixed files)
After:Downloads/
- Images/ (45 files)
- Documents/(23 files)
- Videos/ (12 files)
- Audio/ (8 files)
- Archives/ (6 files)
- Code/ (4 files)
- Other/ (2 files)
Bonus: Add to crontab for daily auto-organize:
0 0 * * * python3 /path/to/file_organizer.py /home/user/Downloads
Key Features:
- Pure Python, no pip install needed
- Cross-platform (Windows/Mac/Linux)
- Error handling included
- Auto creates folders
Save time. Automate boring tasks. Happy coding!
页:
[1]