Web appOpen in Telegram

Postخیلی وقت‌ها پوشه Downloads شبیه یک انباری شلوغ می‌شود؛ pdf، عکس، zip، هر چیزی قاطی هم 😅

10 July 2026
|
| کانال توسعه‌دهندگان پایتون |
خیلی وقت‌ها پوشه Downloads شبیه یک انباری شلوغ می‌شود؛ pdf، عکس، zip، هر چیزی قاطی هم 😅 امروز یک اسکریپت واقعی و ساده با Python می‌سازیم که فایل‌ها را بر اساس نوع، به پوشه‌های جدا منتقل کند. ایده از این آموزش الهام گرفته شده: Real Python - Working With Files in Python 🧠 ایده کلی Python برای کار با فایل‌ها و مسیرها کتابخانه‌های خیلی خوبی دارد، مخصوصاً pathlib و shutil. کاری که می‌کنیم: - پوشه Downloads را مانیتور نمی‌کنیم، فقط هر بار اسکریپت را اجرا کنیم - بر اساس پسوند فایل (مثلاً .pdf یا .jpg) تصمیم می‌گیریم کجا برود - اگر پوشه مقصد وجود نداشت، خودمان می‌سازیم این مدل اسکریپت‌ها برای مرتب‌ نگه‌داشتن سیستم شخصی یا سیستم‌های روی سرور خیلی کاربردی است. 🛠 کتابخانه‌های مورد نیاز همه چیز با کتابخانه‌های استاندارد Python انجام می‌شود: - pathlib برای کار راحت‌تر با مسیرها - shutil برای جابجا کردن فایل‌ها - os اگر خواستیم تنظیمات خاص‌تری انجام بدهیم (اینجا خیلی کم استفاده می‌شود) 📦 کد نمونه: مرتب‌سازی فایل‌ها بر اساس پسوند این یک مثال ساده و عملی است. مسیر DOWNLOADS_PATH را با مسیر سیستم خودتان عوض کنید 👇 from pathlib import Path import shutil # مسیر پوشه Downloads را مطابق سیستم خود تنظیم کنید DOWNLOADS_PATH = Path.home() / "Downloads" # مپ کردن پسوندها به پوشه‌های هدف EXTENSION_MAP = { ".pdf": "PDFs", ".jpg": "Images", ".jpeg": "Images", ".png": "Images", ".zip": "Archives", ".rar": "Archives", ".mp4": "Videos", ".mp3": "Music", } for item in DOWNLOADS_PATH.iterdir(): if item.is_file(): ext = item.suffix.lower() if ext in EXTENSION_MAP: target_dir = DOWNLOADS_PATH / EXTENSION_MAP[ext] target_dir.mkdir(exist_ok=True) target_path = target_dir / item.name # اگر فایلی با همین نام هست، نام را کمی عوض می‌کنیم if target_path.exists(): target_path = target_dir / f"{item.stem}_copy{ext}" shutil.move(str(item), str(target_path)) نکات کوچک اما مهم ✨ - قبل از اجرا، یک‌بار روی یک پوشه تستی امتحان شود تا مطمئن شوید مپ پسوندها را درست تعریف کرده‌اید. - می‌توانید EXTENSION_MAP را مطابق نیاز خود بزرگ‌تر کنید (مثلاً برای فایل‌های .pptx، .csv و غیره). - اگر با Windows کار می‌کنید و مسیر Downloads فرق دارد، از print(Path.home()) استفاده کنید تا مسیر خانه کاربر را ببینید. چطور حرفه‌ای‌ترش کنیم؟ - اضافه کردن logging برای لاگ کردن کارهایی که روی فایل‌ها انجام می‌شود. - ساختن یک CLI ساده با کتابخانه argparse تا بشود مسیر را از طریق command line داد. - زمان‌بندی اجرای اسکریپت (مثلاً با Task Scheduler روی Windows یا cron روی Linux). اگر پوشه Downloads شما همیشه شلوغ است، این اسکریپت یک نجات‌دهنده کوچک است 😄 امتحانش کنید و اگر دوست داشتید، با بقیه توسعه‌دهندگان پایتون هم به اشتراک بگذارید. 🔖 #Python #پایتون #Python #Automation #Files #pathlib #shutil #Scripting 👤 Developix 💎 Channel: @DevelopixPython
22 · 2.1K ·

Nearby in the feed

|| کانال توسعه‌دهندگان پایتون |💠 نسخه جدید کتابخانه FastAPI منتشر شده است 🔸 ارتقا از نسخه 0.138.1 به 0.139.0 🔹 لیست تغییرات این نسخه: - پشتیبانی از dependencies در app.frontend() - به‌روزرسان|| کانال توسعه‌دهندگان پایتون |چرا متود copy همیشه کپی واقعی نمی‌سازه؟ یکی از باگ‌هایی که حتی برنامه‌نویس‌های با تجربه هم گاهی باهاش روبه‌رو میشن، تفاوت بین Copy و Deep Copy هست فرض کنید این
this message
|| کانال توسعه‌دهندگان پایتون |💠 نسخه جدید محیط توسعه Pycharm منتشر شده است 🔸 ارتقا از نسخه 2026.1.4 به 2026.2 🔖 #pycharm, #python, #release 💎 @DevelopixPython|| کانال توسعه‌دهندگان پایتون |با Migration Boost هاست‌ایران، برای مهاجرت به سرور ابری دوباره هزینه ترافیک نده! 🚀 با خرید اولین سرور ابری غیرساعتی از **هاست‌ایران**، بسته ترافیک هدیه مهاجرت ب
|| کانال توسعه‌دهندگان پایتون || کانال توسعه‌دهندگان پایتون |@DevelopixPython · channel · Tech
7 688subscribers152posts in the index
Venue feed Open in Telegram

An open public feed from the search index ChatCrawler — “Google for public Telegram”; refreshed as the venue is crawled. Times are UTC.

Public content only, official Telegram API. About · FAQ · What we do not do · Remove a page · Catalog · Search · How we count