কম্পিউটার

পাইথনে জাঙ্ক ফাইল সংগঠক?


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

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

ইনপুট ফোল্ডার গঠন

পাইথনে জাঙ্ক ফাইল সংগঠক?

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

পাইথনে জাঙ্ক ফাইল সংগঠক?

প্রথমে বিভিন্ন ধরনের ফাইলের উপর ভিত্তি করে বিভিন্ন ফোল্ডার তৈরি করুন যা আমরা বিভিন্ন ফোল্ডারে আলাদা করতে যাচ্ছি:

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()

একটি নির্দিষ্ট ডিরেক্টরি পাথ থেকে উপরের স্ক্রিপ্ট চালানোর পরে, আমরা আউটপুট পাব যেমন কিছু,

আউটপুট

পাইথনে জাঙ্ক ফাইল সংগঠক?


  1. পাইথন টিকিন্টারে askopenfile() ফাংশন

  2. পাইথনে ফাইল অবজেক্ট?

  3. Python ব্যবহার করে ওয়েবসাইট ব্লকার

  4. পাইথনে জন্মদিনের অনুস্মারক অ্যাপ্লিকেশন