यह एक आलसी अजगर प्रोग्रामर के लिए बहुत उपयोगी लग सकता है जो अधिकांश फाइलों और फ़ोल्डरों को एक स्थान पर रखता है और कभी-कभी भ्रमित होता है कि सभी फाइलें क्या हैं और निश्चित रूप से वह इसे मैन्युअल रूप से करने के लिए बहुत आलसी है। तो नीचे एक पायथन प्रोग्राम है जो एक ही बार में उपयुक्त फ़ोल्डर में सब कुछ व्यवस्थित या सरल करता है और खाली निर्देशिकाओं को हटा देता है।
तो हमारे पास एक निर्देशिका पथ है जहां विभिन्न प्रकार की बहुत सारी फाइलें मौजूद हैं (जैसे नीचे) और हमारा कार्यक्रम हम प्रत्येक फ़ाइल प्रकार को उनके संबंधित फ़ोल्डरों (जैसे नीचे) में अलग करते हैं।
इनपुट फ़ोल्डर संरचना

वांछित आउटपुट

पहले हम अलग-अलग फ़ोल्डरों में अलग-अलग फ़ाइलों के प्रकार के आधार पर अलग-अलग फ़ोल्डर बनाएँ:
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"],
"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}
def organise_folder():
for entry in os.scandir():
if entry.is_dir():
continue
file_path = Path(entry)
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))
try:
os.mkdir("OTHER-FILES")
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-FILES/' + str(Path(dir)))
except:
pass अंतिम स्क्रिप्ट:
बस इतना ही, फ़ाइल प्रकारों को उनके संबंधित फ़ोल्डर में फ़िल्टर करने के लिए हमारी अंतिम स्क्रिप्ट नीचे दी गई है।
#Python Lazy Junk Files Organizer
#Import important libraries
import os
from pathlib import Path
#
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"],
"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}
def organise_folder():
for entry in os.scandir():
if entry.is_dir():
continue
file_path = Path(entry)
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))
try:
os.mkdir("OTHER-FILES")
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-FILES/' + str(Path(dir)))
except:
pass
if __name__ == "__main__":
organise_folder() किसी विशेष निर्देशिका पथ से ऊपर स्क्रिप्ट चलाने के बाद, हमें कुछ इस तरह का आउटपुट मिलेगा,
आउटपुट
