TGViewer
| کانال توسعه‌دهندگان پایتون | | کانال توسعه‌دهندگان پایتون | @developixpython · 7.69K subscribers
Post #146 2.82K
پایتون برای کارهای روزمره سیستم‌عامل 🧰✨

خیلی وقت‌ها پشت سیستم چند تا کار تکراری داریم: جابه‌جا کردن فایل‌ها، عوض کردن اسم‌ها، پیدا کردن فایل‌های قدیمی و پاک کردن لاگ‌ها. این چیزها اگر دستی انجام بشن هم وقت می‌گیرن، هم احتمال خطا زیاده.

با یک اسکریپت ساده پایتون می‌شه این کارها رو اتومات کرد. ایده‌ی کلی اینه: از ماژول‌های استاندارد مثل os و pathlib و shutil استفاده می‌کنیم تا بدون نیاز به هیچ کتابخونه اضافی، فولدرهامون رو مرتب کنیم.

یکی از آموزش‌های خوب برای شروع این فاز، بخش "File and Directory Access" توی مستندات رسمی پایتونه:
pathlib – Object-oriented filesystem paths

اینجا یک مثال واقعی: اسکریپتی که یک فولدر رو اسکن می‌کنه و فایل‌ها رو بر اساس پسوند، توی زیر‌فولدرهای جدا می‌ریزه (مثلا images، videos، documents). این دقیقا چیزی‌ه که تو خیلی از اسکریپت‌های مدیریت دانلود استفاده می‌شه.

from pathlib import Path
import shutil

BASE_DIR = Path.home() / "Downloads"

EXT_MAP = {
"images": [".png", ".jpg", ".jpeg", ".gif"],
"videos": [".mp4", ".mkv", ".avi"],
"documents": [".pdf", ".docx", ".xlsx", ".pptx"],
"archives": [".zip", ".rar", ".tar", ".gz"],
}

def get_category(ext: str) -> str | None:
ext = ext.lower()
for category, exts in EXT_MAP.items():
if ext in exts:
return category
return None

for item in BASE_DIR.iterdir():
if not item.is_file():
continue

category = get_category(item.suffix)
if not category:
continue

target_dir = BASE_DIR / category
target_dir.mkdir(exist_ok=True)

target_path = target_dir / item.name
print(f"Moving {item.name} -> {target_path}")
shutil.move(str(item), str(target_path))


چند نکته‌ی کاربردی:

🔹 استفاده از Pathlib خیلی خواناتر از کار با os.path و رشته‌های خامه. کار با مسیرها رو شبیه Objectها می‌کنه.

🔹 قبل از اجرای اسکریپت روی فولدر اصلی، بهتره روی یک فولدر تست امتحان بشه تا مطمئن باشی چیزی اشتباه جابه‌جا نمی‌شه.

🔹 می‌شه این ایده رو گسترش داد: مثلا فایل‌های قدیمی‌تر از ۳۰ روز رو ببری داخل یک فولدر old یا لاگ‌های بالای یک حجم مشخص رو پاک کنی. همه‌ش با همین ماژول‌های استاندارد قابل انجامه.

مستندات رسمی پایتون برای کار با فایل‌سیستم خیلی تمیز و قابل اتکا هستن؛ هر وقت خواستی اسکریپت رو حرفه‌ای‌تر کنی، سر زدن به این صفحه‌ها واقعا کمک می‌کنه:
shutil – High-level file operations

یک بار این اسکریپت رو روی فولدر Downloads خودت اجرا کن، اگر مفید بود، تو پروژه‌های دیگه‌ات هم از همین الگو استفاده کن و با بقیه پایتونیست‌ها به اشتراک بذار 🚀

🔖 #Python #پایتون #Python #Automation #pathlib #shutil #Scripting

👤 Developix

💎 Channel: @DevelopixPython
  • 👍 4
  • ❤ 3
More from @developixpython
  1. Sep 30, 2026💠 نسخه جدید کتابخانه FastAPI منتشر شده است 🔸 ارتقا از نسخه 0.141.1 به 0.142.2 🔖 #fastap…
  2. Sep 8, 2026آرگومان پیش‌فرض لیست؛ باگ خفن ولی بی‌سر‌و‌صدا 😅 خیلی‌ها (حتی حرفه‌ای‌ها) یه زمانی این سوت…
  3. Sep 6, 2026🔥 پروژه: مهارت‌های تحقیق آکادمیک با Claude Code اگر برای پروژه‌های پایتونی مقاله، مستندات…
  4. Aug 24, 2026خیلی وقت‌ها با باگ‌های عجیب روبه‌رو می‌شویم که فقط به خاطر یک فاصلهٔ اضافی یا خط‌جدید ته ر…
  5. Aug 12, 2026🔥 پروژه: ‏DSPy فریم‌ورک برنامه‌نویسی LLM DSPy یه فریم‌ورک پایتونی از آزمایشگاه NLP اس…
  6. Aug 9, 2026مدیریت درست resource مثل فایل، connection دیتابیس یا lock، کلی باگ و Memory Leak بالقوه را…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →