In macOS Mojave, there is a feature called "Use Stacks" which organise your desktop files.
I love this feature but you can only use this feature to organise files on your desktop and not in every folder.
So, I decided to make a python program which will organise my files in any folder.
Create a file organise.py
#import libraries
import os
from pathlib import Path
#Dictionary (Add more if you want)
DIRECTORIES = {
"HTML": [".html5", ".html", ".htm", ".xhtml"],
"IMAGES": [".jpeg", ".jpg", ".tiff", ".gif", ".bmp", ".png", ".bpg", "svg",
".heif", ".psd"],
"VIDEOS": [".avi", ".flv", ".wmv", ".mov", ".mp4", ".webm", ".vob", ".mng",
".qt", ".mpg", ".mpeg", ".3gp", ".mkv"],
"DOCUMENTS": [".oxps", ".epub", ".pages", ".docx", ".doc", ".fdf", ".ods",
".odt", ".pwi", ".xsn", ".xps", ".dotx", ".docm", ".dox",
".rvg", ".rtf", ".rtfd", ".wpd", ".xls", ".xlsx", ".ppt",
"pptx"],
"ARCHIVES": [".a", ".ar", ".cpio", ".iso", ".tar", ".gz", ".rz", ".7z",
".dmg", ".rar", ".xar", ".zip"],
"AUDIO": [".aac", ".aa", ".aac", ".dvf", ".m4a", ".m4b", ".m4p", ".mp3",
".msv", "ogg", "oga", ".raw", ".vox", ".wav", ".wma"],
"PLAINTEXT": [".txt", ".in", ".out"],
"PDF": [".pdf"],
"PYTHON": [".py"],
"XML": [".xml"],
"EXE": [".exe"],
"SHELL": [".sh"]
}
FILE_FORMATS = {file_format: directory
for directory, file_formats in DIRECTORIES.items()
for file_format in file_formats}
#This will organise your files
def organize():
for entry in os.scandir():
if entry.is_dir():
continue
file_path = Path(entry.name)
file_format = file_path.suffix.lower()
if file_format in FILE_FORMATS:
directory_path = Path(FILE_FORMATS[file_format])
directory_path.mkdir(exist_ok=True)
file_path.rename(directory_path.joinpath(file_path))
#if extension not present in the dctionary than create a folder name "OTHER"
try:
os.mkdir("OTHER")
except:
pass
for dir in os.scandir():
try:
if dir.is_dir():
os.rmdir(dir)
else:
os.rename(os.getcwd() + '/' + str(Path(dir)), os.getcwd() + '/OTHER/' + str(Path(dir)))
except:
pass
if __name__ == "__main__":
organize()
To run this program open terminal and write
$ python organise.py
My desktop before running this program:
After running this program:
Top comments (5)
I never use desktop for anything to store, I have 0 icons.. Just because I have this tendency to hide work and personal sh** when doing presentations or videos.. so my stuff is in some off dirs that I create when getting new Mac.
Tbh I've seen some weird desktop stuff on peoples Macs when they do presentations.
Few that I remember:
Divorce Papers
Odd Images (nothing NSFW, but just bizarre and weird)
Xyz Company Clients
Resumes
Taxes
Went bit off topic, but nice script tho, am Python Follower myself :)
My teacher accidentally showed us an explicit video thumbnail once while trying to locate his lecture slides haha
How about adding a folder then auto set a password for that folder?😊 thanks for sharing?
Cool! Thanks for sharing :)
Welcome :)