| کانال توسعه‌دهندگان پایتون |
6.47K subscribers
41 photos
2 videos
4 files
46 links
⭕️ کانال توسعه‌دهندگان پایتون دولوپیکس

💠 دولوپیکس | جامعه توسعه‌دهندگان ایرانی

💎 @Developix
🚀 Developix.ir

📌 پشتیبانی و تبلیغات:
@DevelopixSupport
Download Telegram
پایتون برای کارهای روزمره سیستم‌عامل 🧰

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

با یک اسکریپت ساده پایتون می‌شه این کارها رو اتومات کرد. ایده‌ی کلی اینه: از ماژول‌های استاندارد مثل 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
👍43