এটি একটি অলস পাইথন প্রোগ্রামারের জন্য খুব দরকারী বলে মনে হতে পারে যিনি বেশিরভাগ ফাইল এবং ফোল্ডারগুলিকে এক জায়গায় রাখেন এবং কখনও কখনও বিভ্রান্তিতে পড়েন যে সেখানে সমস্ত ফাইল কী রয়েছে এবং অবশ্যই তিনি নিজে এটি করতে খুব অলস। তাই নীচে একটি পাইথন প্রোগ্রাম রয়েছে যা এককভাবে উপযুক্ত ফোল্ডারে সবকিছু সংগঠিত বা সরল করতে এবং খালি ডিরেক্টরিগুলি সরাতে পারে৷
তাই আমাদের একটি ডিরেক্টরি পাথ রয়েছে যেখানে বিভিন্ন ধরণের অনেকগুলি ফাইল উপস্থিত থাকে (নীচের মতো) এবং আমাদের প্রোগ্রাম আমরা প্রতিটি ফাইলের ধরনকে তাদের নিজ নিজ ফোল্ডারে আলাদা করি (নিচের মতো)।
ইনপুট ফোল্ডার গঠন

কাঙ্খিত আউটপুট

প্রথমে বিভিন্ন ধরনের ফাইলের উপর ভিত্তি করে বিভিন্ন ফোল্ডার তৈরি করুন যা আমরা বিভিন্ন ফোল্ডারে আলাদা করতে যাচ্ছি:
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() একটি নির্দিষ্ট ডিরেক্টরি পাথ থেকে উপরের স্ক্রিপ্ট চালানোর পরে, আমরা আউটপুট পাব যেমন কিছু,
আউটপুট
