Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन में जंक फाइल ऑर्गनाइज़र


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

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

इनपुट फोल्डर स्ट्रक्चर

पायथन में जंक फाइल ऑर्गनाइज़र

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

पायथन में जंक फाइल ऑर्गनाइज़र

सबसे पहले, हमारे द्वारा अलग की जाने वाली फाइलों के प्रकारों के आधार पर अलग-अलग फोल्डर्स बनाएं:

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 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. पायथन में फाइल ऑब्जेक्ट्स: पूरी गाइड पायथन में फाइल ऑब्जेक्ट्स: पूरी गाइड

    पायथन में, जब भी हम फाइल्स पढ़ने या लिखने का प्रयास करते हैं, हमें कोई लाइब्रेरी इम्पोर्ट करने की आवश्यकता नहीं होती क्योंकि यह नेटिवली हैंडल किया जाता है। सबसे पहली चीज जो हम करेंगे वह है बिल्ट-इन open फंक्शन का उपयोग करके एक फाइल ऑब्जेक्ट प्राप्त करना। open फंक्शन एक फाइल खोलता है और एक फाइल ऑब्ज

  1. पायथन का उपयोग करके वेबसाइट ब्लॉकर पायथन का उपयोग करके वेबसाइट ब्लॉकर

    यदि आप एक बड़ी IT कंपनी में काम कर रहे हैं तो आप देख सकते हैं कि उनकी कुछ वेबसाइटें अवरुद्ध हैं, विशेष रूप से सोशल नेटवर्किंग साइट्स जैसे फेसबुक, यूट्यूब, इंस्टाग्राम आदि। कुछ वेबसाइटों को ब्लॉक करने के लिए थर्ड-पार्टी एप्लिकेशन का उपयोग करने के बजाय, हम अपना खुद का कस्टम एप्लिकेशन विकसित कर सकते ह

  1. पायथन में बर्थडे रिमाइंडर एप्लिकेशन पायथन में बर्थडे रिमाइंडर एप्लिकेशन

    इस खंड में हम देखेंगे कि पायथन का उपयोग करके बर्थडे रिमाइंडर एप्लिकेशन कैसे बनाया जाए। समस्या कथन पायथन का उपयोग करके एक एप्लिकेशन बनाएं, जो जांच सके कि वर्तमान दिन पर कोई बर्थडे है या नहीं। यदि सूचीबद्ध किसी व्यक्ति का बर्थडे आज है, तो उस व्यक्ति के नाम के साथ सिस्टम पर एक नोटिफिकेशन भेजें। हमें